python部分内建函数
标识 id:
返回对象的唯一标识
哈希 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)
打印输出,默认使用空格分割 换行结尾,输出到控制台
对象长度 len(s)
返回一个集合类型的元素个数
isinstance(obj,class_or_tuple)
判断对象obj是否属于某种类型或者元组中列出的某个类型
isinstance(True,int)
issubclass(cls,class_or_tople)
判断类型cls是否是某种类型的子类或元组中列出的某个类型的子类
issubclass(bool,int)
绝对值abs(x) x为数值
最大值max() 最小值min()
返回可迭代对象中最大或最小值
返回多个参数中最大或最小值
round(x) 四舍六入五取偶,round(-0.5)
pow(x,y) 等价于x**y
range(stop)
从0开始的stop-1的可迭代对象;range(start,stop[,step])从start开始到stop-1结束步长为step的可迭代对象
divmod(x,y)等价于 tuple(x//y,x%y)
sum(iterable[,start])将可迭代对象的所有元素求和
sum(range(1,100,2))
chr(i)给一个一定范围的整数返回对应的字符
chr(97) chr(20013)
ord©返回字符对应的整数,返回值是Unicode ord(‘a’) ord(‘中’)
str()
repr()
ascii()
sorted(iterable[,key][,reverse])排序
立即返回一个新的列表,默认升序
reverse是反转
sorted([1,2,5])
sorted([1,2,5],revers=True)
sorted({‘c’;1,‘b’;2,‘a’:1})
翻转reversed(seq)
返回一个反转元素的迭代器
list(reversed(“13579”))
for x in reversed([‘c’,‘b’,‘a’]):
print(x) a b c
枚举 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会抛出StopItertion
it = iter(range(5))
next(it)
it = reversed([1,3,5])
next(it)
拉链函数zip(iterables)
像拉链一样,把多个可迭代对象合并在一起,返回一个迭代器
将每次从不同对象中取到的元素合并成一个元组
list(zip(range(10),range(10)))
list(zip(range(10),(range(6),(range(10),(range(10)))
all(iterable)
可迭代对象所有元素都要等效为True,或空的可迭代对象,all函数返回True
一旦可迭代对象有一个元素等效为False,all函数返回False
any(iterable)
可迭代对象任意一个元素都要等效为True,any函数返回True
空可迭代对象或所有元素都等效为False,any函数返回False
lst = [True,{1},[2,3],5.1,‘abc’]
print(all(lst),any(lst))
可迭代对象
能够通过迭代一次次返回不同的元素的对象
所谓相同,不是指值是否相同,而是元素在容器中是否是同一个,假如列表中元素是可以重复的,[‘a’,‘a’],虽然这个列表有2个元素,值一样,但是两个’a’是不同的元素,因为有不同的索引
可以迭代,但是未必有序,未必可索引
可迭代对象有:list tuple string bytes bytearray range对象 set dict 生成器 迭代器等
可以使用成员操作符in not in,in本质上对于线性结构就是在遍历对象,非线性结构求hash
迭代器
特殊的对象,一定是可迭代对象,具备可迭代对象的特征
通过iter方法把一个可迭代对象封装成迭代器
通过next方法,就是迭代器对象
生成器对象,就是迭代器对象
for x in iter(range(10)):
print(x)