Python3内置函数(五)

classmethod()

classmethod修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

语法:classmethod

返回值:返回函数的类方法。

实例:


输出结果为:

func2

1

foo

getattr()

getattr()函数用于返回一个对象属性值。

语法:getattr(object,name[,default])

参数:object -- 对象。

name -- 字符串,对象属性。

default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

返回值:返回对象属性值。

实例:

locals()

locals()函数会以字典类型返回当前位置的全部局部变量。

对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

语法:locals()

返回值:返回字典类型的局部变量。

实例:

>>>defrunoob(arg):# 两个局部变量:arg、z

...z=1

...print(locals())

...

>>>runoob(4){'z':1,'arg':4}# 返回一个名字/值对的字典

>>>

repr()

repr() 函数将对象转化为供解释器读取的形式。

语法:repr(object)

参数:object -- 对象。

返回值:返回一个对象的 string 格式。

实例:

>>>s='RUNOOB'

>>>repr(s)

"'RUNOOB'"

>>>dict= {'runoob':'runoob.com','google':'google.com'};

>>>repr(dict)

"{'google': 'google.com', 'runoob': 'runoob.com'}"

>>>

zip()

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

语法:zip([iterable,...])

参数说明:iterabl -- 一个或多个迭代器;

返回值:返回元组列表。

实例:

>>>a=[1,2,3]

>>>b=[4,5,6]

>>>c=[4,5,6,7,8]

>>>zipped=zip(a,b)            # 打包为元组的列表

[(1,4),(2,5),(3,6)]

>>>zip(a,c)                      # 元素个数与最短的列表一致

[(1,4),(2,5),(3,6)]

>>>zip(*zipped)           # 与 zip 相反,可理解为解压,返回二维矩阵式[(1,2,3),(4,5,6)]

compile()

compile() 函数将一个字符串编译为字节代码。

语法:compile(source,filename,mode[,flags[,dont_inherit]])

参数:

source -- 字符串或者AST(Abstract Syntax Trees)对象。。

filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

mode -- 指定编译代码的种类。可以指定为 exec, eval, single。

flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。

flags和dont_inherit是用来控制编译源码时的标志

返回值:返回表达式执行结果。

实例:

>>>str="for i in range(0,10): print(i)"

>>>c=compile(str,'','exec')# 编译为字节代码对象

>>>c

<code object <module> at 0x10141e0b0, file "" ,line 1>

>>>exec(c)

0123456789

>>>str="3 * 4 + 5"

>>>a=compile(str,'','eval')

>>>eval(a)

17

globals()

globals()函数会以字典类型返回当前位置的全部全局变量。

语法:globals()

返回值:返回全局变量的字典。

实例:

map()

map()会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法:map(function,iterable,...)

参数:

function -- 函数,有两个参数

iterable -- 一个或多个序列

返回值:返回列表。

实例:

__import__()

__import__()函数用于动态加载类和函数 。

如果一个模块经常变化就可以使用 __import__() 来动态载入。

语法:__import__(name[,globals[,locals[,fromlist[,level]]]])

参数说明:name -- 模块名

返回值:返回元组列表。

实例:

a.py 文件代码:

#!/usr/bin/env python

#encoding: utf-8

import os

print('在 a.py 文件中 %s'%id(os))

test.py 文件代码:

#!/usr/bin/env python

#encoding: utf-8

import sys

__import__('a')              # 导入 a.py 模块

执行 test.py 文件,输出结果为:

在a.py文件中4394716136

reversed()

reversed 函数返回一个反转的迭代器。

语法:reversed(seq)

参数:seq -- 要转换的序列,可以是 tuple, string, list 或 range。

返回值:返回一个反转的迭代器。

实例:

complex()

complex()函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。

语法:class complex([real[, imag]])

参数说明:real -- int, long, float或字符串;

imag -- int, long, float;

返回值:返回一个复数。

实例:

hasattr()

hasattr()函数用于判断对象是否包含对应的属性。

语法:hasattr(object, name)

参数:object -- 对象。

name -- 字符串,属性名。

返回值:如果对象有该属性返回 True,否则返回 False。

实例:

max()

max() 方法返回给定参数的最大值,参数可以为序列。

语法:max(x,y,z,....)

参数:x -- 数值表达式。y -- 数值表达式。z -- 数值表达式。

返回值:返回给定参数的最大值。

实例:

#!/usr/bin/python3

print("max(80, 100, 1000) : ",max(80,100,1000))

print("max(-20, 100, 400) : ",max(-20,100,400))

print("max(-80, -20, -10) : ",max(-80,-20,-10))

print("max(0, 100, -400) : ",max(0,100,-400))

以上实例运行后输出结果为:

max(80,100,1000):1000

max(-20,100,400):400

max(-80,-20,-10):-10

max(0,100,-400):100

round()

round()方法返回浮点数x的四舍五入值。

语法:round(x[,n])

参数:x -- 数值表达式。n -- 数值表达式。

返回值:返回浮点数x的四舍五入值。

实例:

#!/usr/bin/python3

print("round(70.23456) : ",round(70.23456))

print("round(56.659,1) : ",round(56.659,1))

print("round(80.264, 2) : ",round(80.264,2))

print("round(100.000056, 3) : ",round(100.000056,3))

print("round(-100.000056, 3) : ",round(-100.000056,3))

以上实例运行后输出结果为:

round(70.23456):70

round(56.659,1):56.7

round(80.264,2):80.26

round(100.000056,3):100.0

round(-100.000056,3):-100.0

delattr()

delattr函数用于删除属性。

delattr(x, 'foobar')相等于del x.foobar。

语法:delattr(object,name)

参数:object -- 对象。name -- 必须是对象的属性。

实例:

输出结果:

hash()

hash()用于获取取一个对象(字符串或者数值等)的哈希值。

语法:hash(object)

参数说明:object -- 对象;

返回值:返回对象的哈希值。

实例:

>>>hash('test')                       # 字符串

2314058222102390712

>>>hash(1)                             # 数字1

>>>hash(str([1,2,3]))               # 集合

1335416675971793195

>>>hash(str(sorted({'1':1})))    # 字典

7666464346782421378

>>>

memoryview()

memoryview()函数返回给定参数的内存查看对象(Momory view)。

所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

 语法:memoryview(obj)

参数说明:obj -- 对象

返回值:返回元组列表。

实例:

>>>v=memoryview('abcefg')

>>>v[1]

'b'

>>>v[-1]

'g'

>>>v[1:4]

>>>v[1:4].tobytes()

'bce'

set()

set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

语法:class set([iterable])

参数说明:iterable -- 可迭代对象对象;

返回值:返回新的集合对象。

实例:

>>>x=set('runoob')

>>>y=set('google')

>>>x,y

(set(['b','r','u','o','n']),set(['e','o','g','l']))# 重复的被删除

>>>x&y                 # 交集

set(['o'])

>>>x|y                    # 并集

set(['b','e','g','l','o','n','r','u'])

>>>x-y                       # 差集

set(['r','b','u','n'])

>>>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,223评论 0 0
  • 内置函数续: 35.bytes 函数 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x ...
    一只小釆鸟阅读 439评论 0 1
  • python3常用内置函数: 1.abs()函数 abs函数是返回数字的绝对值 基本语法: abs(x) x...
    一只小釆鸟阅读 922评论 0 3
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,771评论 1 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139