python3内置函数整理

python3内置函数
按功能来分,简单分了几类
一、数学计算相关
abs、complex、divmod、float、pow、round
(3, 1) = divmod(7, 2) 把除数和余数运算结果结合起来,返回一个包含商和余数的元组
float() 函数用于将整数和字符串转换成浮点数。
pow() 方法返回 (x的y次方) 的值。

max、min、sum

二、逻辑判断
all、any、bool、callable
bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool 是 int 的子类。
callable() 函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。
all:
注意:对all来说,空元组、空列表返回值为True

三、类型转换
转换成数字:
int() 函数用于将一个字符串或数字转换为整型。

ascii码的数字和字符互转:chr、ord
chr(int) 用0~255的整数作参数,返回一个对应的ascii字符。i – 可以是10进制也可以是16进制的形式的数字。
ord以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值。ordinal

转换成字符串格式:
bin(int) :将一个整数 int 或者长整数 long int 转换成二进制后字符串输出。
oct() 函数将一个整数转换成8进制字符串输出。
hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。

str、expr、ascii都有相似之处
尽管这两者都返回的字符串,但str返回对人类友好的形式。在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法。print 语句结合 str() 函数实际上是调用了对象的 __str__方法来输出结果。
而 print 结合 repr() 实际上是调用对象的__repr__方法输出结果。repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用。
通常情况下obj==eval(repr(obj))这个等式是成立的。而str()函数这没有这个功能。
ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。

二进制序列类型:
用于处理二进制数据的核心内置类型是bytes和bytearray。它们由memoryview支持,它使用buffer protocol访问其他二进制对象的内存,而无需进行复制。
bytes将一个列表、字符串等转换成一个新的 bytes 对象,以字节流的形式转换成对应的ascii值。如果是多字节的字符就一个个字节展示出来。
bytearray() 是bytes的可变版本,可以通过切片改变其值。
memoryview
memoryview() 函数返回给定参数的内存视图(Momory view)。
所谓内存视图,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。
memoryview可以使用不同的方式读取和操作(重点)同一块内存,并且原有的内存字节不会随意移动。

四、可作为装饰器的函数
classmethod、staticmethod、property
类方法,静态方法,属性

五、作用于类对象
delattr、getattr、hasattr、setattr
delattr(object, name)

hasattr() 函数用于判断对象是否包含对应的属性。
hasattr(object, name)
如果对象有该属性返回 True,否则返回 False。

getattr() 函数用于返回一个对象属性值。
getattr(object, name[, default])
default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

setattr() 函数对应函数 getattr(),用于设置属性值,该属性若不存在则创建。
setattr(object, name, value)
无返回值

isinstance、issubclass
一个是实例对象,一个是class。

dir、vars
dir()和vars()的区别就是
dir()只打印属性(属性,属性…),返回列表
而vars()则打印属性与属性的值(属性:属性值…),返回一个dict

object、type、super
super:钻石继承,class.__mro__可以显示类的MRO顺序

六、执行代码
compile、eval、exec
将source编译成代码或AST对象。代码对象可以由exec()或eval()执行。source可以是普通字符串,字节字符串或AST对象。
eval 返回计算结果
exec 只执行,不返回计算结果
exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码或者code对象。
拓展阅读:Python3源码—Code对象与pyc文件

基本数据类型
dict、list、set、tuple、frozenset
enumerate、zip
zip:zip([1,2,3],[4,5,6]) ## zip object [(1, 4), (2, 5), (3, 6)]
enumerate:enumerate([a,b,c],6) ## enumerate object [(6,a),(7,b),(8,c)]

输入输出系列
format、input、print

迭代器相关系列
iter、next、range、reversed、sorted、map、filter
iter(一个实现了iter方法的实例对象) 函数用来将可迭代对象生成迭代器。调用__iter__方法。大部分时候不用显式调用iter。
next() 返回迭代器的下一个项目。调用__next__方法
range() 函数返回一个迭代器
reversed 函数返回一个反转的迭代器。reversed(seq) seq – 要转换的序列,可以是 tuple, string, list 或 range。
sorted 可以对所有可迭代的对象进行排序操作。sort 是应用在 list 上的方法。
map(function, iterable, …) 返回return的值
filter(function, iterable) 用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。返回return不为false的值

拓展阅读:可迭代对象 vs 迭代器 vs 生成器
大部分容器都是可迭代的,但是还有其他一些对象也可以迭代,例如,文件对象以及管道对象等等

通用功能系列
len、help、open

其他:
globals、locals、双下import
hash、id

slice
slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

猜你喜欢

转载自blog.csdn.net/kekefen01/article/details/84001344