python 内置函数

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

你可能感兴趣的:(python 内置函数)