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}

 

posted @ 2019-07-19 18:27  大胖猴  阅读(268)  评论(0编辑  收藏  举报