python 内建函数
内建函数
标识id
- 返回对象的唯一标识,CPython返回内存地址
哈希hash
- 返回一个对象哈希
类型type
- 返回对象的类型
类型转换
- float() int() bin() hex() oct() bool() list() tuple() dict() set() complex() bytes() bytearray()
输入 input([prompt])
- 接收用户输入,返回一个字符串
打印print(*objects,sep='',end='\n',file=sys.stdout,flush=False)
- 打印输出,默认使用空格分割,换行结尾,输出到控制台
对象长度
- 返回一个集合类型的元素个数
isinstance(obj,class_or_tuple)
- 判断对象obj是否属于某种类型或者元组中列出的某个类型
- isinstance(True,int)
issubclass(cls,class_or_tuple)
- 判断类型cls是否是某种类型的子类或元组中列出的某个类型的子类
- issubclass(bool,int)
绝对值abs(x)
- x为数值
最大值max() 最小值min()
- 返回可迭代对象中最大或者最小值
- 返回多个参数中最大或者最小值
round(x)
- 四舍六入五取偶
pow(x,y)
- 等价于x**y
range(stop)
- 从0开始到stop-1的可迭代对象
- range(start,stop,step) 可设置步长
divmod(x,y)
- 等价于 tuple(x//y,x%y)
sum(iterable,[,start])
- 对可迭代对象的所有元素求和
- sum(range(1,100,2))
chr(i)
- 给一个一定范围的整数返回对应的字符
- chr(97) #'a'
- chr(20013) #'中'
ord(c)
- 返回字符对应的整数
- ord('a')
- ord('中')
sorted(iteranle,[,key][,reverse])
- 排序,返回一个新列表,默认升序
- reverse是反转
reversed(seq)
- 返回一个翻转元素的迭代器
枚举enumerate(seq,start=0)
- 迭代一个序列,返回索引数字和元素构成的二元组
- start表示索引开始的数字,默认是0
for x in enumerate([2,4,6,8]): print(x) for x in enumerate("abcde"): print(x,end=" ")
迭代器和取元素iter(iterable)、next(iterator[,default])
- iter将一个可迭代对象封装成一个迭代器
- next对一个迭代器取下一个元素,如果全部元素取过了,再next会抛StopItheration异常
it = iter(range(5)) next(it) it = reversed([1,3,5]) next(it)
可迭代对象
- 能够通过迭代一次次返回不同的元素的对象
- 所谓相同,不是指值是否相同,而是元素在容器中是否是同一个,例如列表中值可以重复,['a','a'],虽然这个列表有2个元素,值一样,但是两个'a'是不同的元素
- 可以迭代,但是未必有序,未必可索引
- 可迭代对象有:list tuple string bytes bytearray range ser dict 生成器等
- 可以使用成员操作符in 、 not in ,in本质上就是在遍历对象
迭代器
- 特殊的对象,一定是可迭代对象,具备可迭代对象的特征
- 通过iter方法把一个可迭代对象封装成迭代器
- 通过next方法,迭代迭代器对象
- 生成器对象,就是迭代器对象
拉链函数zip(*iterables)
- 像拉链一样,把多个可迭代对象合并在一起,返回一个迭代器
- 将每次从不同的对象中取到的元素合并成一个元组
list(zip(range(10),range(10))) #执行结果 [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)] list(zip(range(10),range(10),range(5),range(10))) #执行结果 [(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3), (4, 4, 4, 4)] dict(zip(range(10),range(10))) #执行结果 {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9} {str(x):y for x,y in zip(range(10),range(10))} #执行结果 {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
碎片化时间学习和你一起终身学习