Build-in Functionis | ||||
---|---|---|---|---|
abs() | dict() | help() | min() | setattr() |
all() | dir() | hex() | next() | slice() |
any() | divmod() | id() | object() | sorted() |
ascii() | enumerate() | input() | oct() | staticmethod() |
bin() | eval() | int() | open() | str() |
bool() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | __import()__ |
complex() | hasattr() | max() | round() | |
delattr() | hash() | memoryview() | set() |
all(iterable)
如果元素都为True,或者为空,返回True.
all([1,2,4,True])
all([])
all([1,2,False])
True
True
False
any(iterable)
如果任意一元素为True 返回True, 如果为空 ,返回False
ascii(object)
返回object 的 string类型.
ascii([[1,2,3],2,3])
output
'[[1,2,3],2,3]'
bin(x)
返回二进制字符串开头带'0b' ,一般只能是int ,不是int 必须定义__index()__方法
class bool([x])
返回bool 结果,if x是 False 或者省略 返回False,其他返回True,bool()是int的子集(subclass)
class bytearray([source[, encoding[, errors]]])
返回新的位数组(0<=x<256), 它有大多数可变序列的常用方法
根据源参数的不同初始化数组
- 如果它是一个字符串,那么您还必须给出编码(以及可选的错误)参数;bytearray()然后使用str.encode()将-
字符串转换为字节。 - 如果它是一个整数,那么数组将具有这个大小,并将用null字节初始化。
- 如果它是符合缓冲区接口的对象,则将使用对象的只读缓冲区来初始化字节数组。
- 如果它是可迭代的,那么它必须是range 0 < = x < 256的整数的迭代,它被用作数组的初始内容
b = bytearray()
len(b)
b = bytearray('中文', 'utf-8')
len(b)
b = bytearray(5)
len(b)
bytearray([1,2,3,4,5])
len(b)
输出
bytearray(b'')
0
bytearray(b'\xe4\xb8\xad\xe6\x96\x87')
6
bytearray(b'\x00\x00\x00\x00\x00')
5
bytearray(b'\x01\x02\x03\x04\x05')
5
bytes([source[, encoding[, errors]]])
重复bytearray()的例子,输出结果为
b''
b'\xe4\xb8\xad\xe6\x96\x87'
b'\x00\x00\x00\x00\x00'
b'\x01\x02\x03\x04\x05'
callabel(object)
chr(i)
返回unicode编码字符串
范围0到0x10FFFF
@classmethod()
类装饰器
@staticmethod()
静态方法
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
这个函数用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译。
- 参数source是一串字符串的源码,或者是AST对象数组。
- 参数filename是读取字符串的文件对象,如果不是从文件里读取源码来编译,那么这里可以放一些用来标识这些代码的字符串。
- 参数mode是用来指明那种表示的源码类型;如果是exec类型,表示这是一个序列语句,可以进行运行;如果是eval类型,表示这是一个单一的表达式语句,可以用来计算相应的值出来;如果是single类型,表示这是一个单一语句,采用交互模式执行,在这种情况下,如果是一个表达式,一般会输出结果,而不是打印为None输出。
- 可选参数flags和dont_inherit是用来控制编译源码时的标志,可以查看PEP236文档来了解这些参数,以及相关编译的说明。如果两者使用缺省参数(也即两者都是零值),在调用本函数编译时,主要使用代码中指明的编译特征来对待;如果flags参数设置有值,而dont_inherit没有设置(即是零值),那么编译代码时,不仅源码的编译特征起作用,而且flags指明的特征也起作用,相当两者的并集;如果参数dont_inherit设置有值(即是非零值),编译语句时只有参数flags指明的编译特征值起作用,即是不使用源码里指明的特征。
- 编译特征是按位图的方式设置到参数里,可以查看__future__
- 可选参数optimize是用来指明编译器使用优化的等级;缺省值是-1,表示使用命令行参数-O中获取的优化等级为准;如果设置值为0(即是不用优化,debug是设置true),是没有优化;如果设置值为1,assert语句被删除,debug设置为false;如果设置值为2,除了设置值为1的功能之外,还会把代码里文档说明也删除掉,达到最佳优化结果。
- 本函数编译代码时,如果语法出错会返回SyntaxError;如果代码包含一些空字节,则返回类型错误TypeError。
#compile()
str = "for i in range(0,10): print(i)"
c = compile(str,'','exec') # 编译为字节代码对象
exec(c) # 执行
str2 = "3*x + 4*y"
c2 = compile(str2, '', 'eval') # 编译为表达式
code_str = '''print('olivetree')\nprint( 'olivetree123') '''
c = compile(code_str,'','exec')
exec(c)
code_str = '''1+1 '''
c = compile(code_str, '', 'eval'
eval(c)
complex([real[, imag])
复合函数 real可以为number和string类型,imag只能为number
complex(2,5)
complex(2)
complex('2.0',5.0)
输出
2+5j
2+0j
2.0+5.0j