标识id

    返回对象的唯一标识,CPython返回内存地址

哈希hash()

    返回一个对象的哈希值

类型type()

    返回对象的类型

类型转换

    float() int() bin() hex() oct() bool() list() tuple() dict()

    set() complex() bytes() bytearry()

输入input([prompt])

    接收用户输入,返回一个字符串

打印print(*object, sep='',end='\n',file=sys.stdout,flush=false)

    打印输出,默认使用空格分割、换行结尾,输出到控制台

对象长度len(s)

    返回一个集合类型的元素个数

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) 四舍六入五取偶,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)

ord(c) 返回字符对应的整数

    ord('a'), ord('中')


sorted(iterable[,key][,reverse])排序

    返回一个新的列表,默认升序

    reverse是反转

    sorted([1, 3, 5])

    sorted([1, 3, 5],reverse=True)

    sorted({'c': 1, 'b': 2, 'a': 1})


翻转reversed(seq)

    返回一个翻转元素的迭代器

    list(reversed("13579"))

    for x in reversed(['c', 'b', 'a']):

        print(x)

枚举enumerate(seq, start=0)

    迭代一个序列,返回索引数字和元素构成的二元组

    start表示索引开始的数字,默认是0

    for x in enumerate([2, 4, 6, 8]):

        print(x)


迭代器和取元素iter(iterable)、next(iterator)

    iter将一个可迭代对象封装成一个迭代器

    next对一个迭代器取下一个元素。如果全部元素都取过了,再次next会抛出StopIteration异常

    it = iter(range(5))

    next(it)

可迭代对象

    能够通过迭代一次次返回不同的元素的对象。

    所谓相同不是指值是否相同,而是元素在容器中是否是同一个,例如列表中值可以重复

    可以迭代,但是未必有序,未必可索引

    可迭代对象有:list、tuple、 string、string、 bytes、bytearray、range、set、dict、生成器等

    可以使用成员操作符in、not in,in本质上就是在遍历对象

    

迭代器

    特殊的对象,一定是可迭代对象,具备可迭代对象的特征

    通过iter方法把一个可迭代对象封装成迭代器

    通过next方法,迭代 迭代器对象

    生成器对象,就是迭代器对象

    for x in iter(range(10)):

        print(x)


拉链函数 zip(*iterables)

    像拉链一样,把多个可迭代对象合并在一起,返回一个迭代器

    将每次从不同对象中取到的元素合并成一个元组

    list(zip(range(10), range(10)))