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'])
>>>