内置函数
内置函数
作用域相关:
- locals :函数会以字典的类型返回当前位置的全部局部变量。
- globals:函数会以字典的类型返回全部全局变量。
字符串相关:
- eval():执行字符串类型的代码,并返回最后结果
-
eval('2 + 2') # 4 n=81 eval("n + 4") # 85 eval('print(666)') # 666
- exec():执行字符串类型的代码,用于流程类
-
s = ''' for i in [1,2,3]: print(i) ''' exec(s)
- 返回值为None
- print():
-
#print(sep = )多个元素时用什么元素连接 print(111,222,333,sep='*') # 111*222*333 #print(end = )末尾以什么元素结束 print(111,end='') print(222) #两行的结果 111222 #print(file = ) 在哪个文件写入内容 f = open('log','w',encoding='utf-8') print('写入文件',file=f,flush=True)
- hash():
-
print(hash(12322)) #数字的哈希值还是数字本身 print(hash('123')) #字符串的哈希值 为字符串转换成一串数字 print(hash('arg')) # ~~~ print(hash('alex')) # ~~~ print(hash(True)) #布尔值的哈希值True为1,False为0 print(hash(False)) print(hash((1,2,3))) #为它转换成一段数字 #运行结果 ''' 12322 -4950091516282234652 6729590813659231111 -7291915363773521476 1 0 2528502973977326415 '''
-
callable():判断一个对象是否可以被调用,一般判断是否为函数名
-
>>> def add(a, b): ... return a + b ... >>> callable(add) # 函数返回 True True
- dir():查询一个对象的所有方法
-
>>> dir([ ]) # 查看列表的方法 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- iter():函数用来生成迭代器(将一个可迭代对象,生成迭代器)
-
from collections import Iterable from collections import Iterator l = [1,2,3] print(isinstance(l,Iterable)) # True #判断对象是否为迭代器 print(isinstance(l,Iterator)) # False #判断对象是否为可迭代对象 l1 = iter(l) print(isinstance(l1,Iterable)) # True #判断对象是否为迭代器 print(isinstance(l1,Iterator)) # True #判断对象是否为可迭代对象
- int():函数用于将字符串或数字转换成整形
-
print(int()) # 0 print(int('12')) # 12 print(int(3.6)) # 3 #默认去除小数点后的保留整数 print(int('0100',base=2)) # 将2进制的 0100 转化成十进制。结果为 4
- float:函数用于将整数和字符串转换成浮点数
- 进制转换:
-
-
*bin()十进制转2进制并返回 格式:0bxxx
-
*oct()将十进制转化为八进制并返回 格式:0oxxx
-
*hex()将十进制转换成十六进制字符串并返回 。 格式:0xXXXdivmod()
-
-
- divmod():
divmod(a,b)返回一个包含商与余数的元组
- 数学运算
-
round(3.114,2):保留浮点数的小数位数。默认保留整数
-
pow(x,y,z):求x**y。(三个参数对第三个数z取余)
-
sum([1,2,5,99,7],88):对可迭代对象进行求和 #最多一个列表加上一个数
-
mix():返回可迭代对象的最大值(可加key(条件abs),key为函数名,通过函数的规则,返回最大值)
-
min():返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)
- 数据结构
-
-
ist():将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素。
-
tuple():将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素。
-
reversed():将一个列表翻转后,返回这个翻转列表的迭代器。
-
slice(5) :构建一个切片,对一定列表进行切割。
-
规则=(5)→list[规则]
-
- divmod():
- format('test',20 < > ^) <左对齐 >右对齐 ^居中
-
byte():用于不同编码之间的转换
-
ord():输入字符返回字符在unicode中aciss码的编号
- chr():输入ascii码在unicode对应ascii码的字符
- ascii():判断是否用的ascii码如果是返回原值,不是返回/u
- repr():跟%r一样 原封不动的填入
- ennumerate():返回一个枚举对象 此枚举对象是一个迭代器
-
li = ['老男孩', 'alex', 'wusir', '嫂子', 'taibai'] print(enumerate(li)) #<enumerate object at 0x0000024C66C90C60> for i in enumerate(li): print(i) '''#运行结果 (0, '老男孩') (1, 'alex') (2, 'wusir') (3, '嫂子') (4, 'taibai') ''' for a,b in enumerate(li): # a是索引值b是对象中的每一个元素 print(b) for a,b in enumerate(li,3): #可加起始索引 print(a,b)
- all():可迭代对象中,全都是True才是True
- any():可迭代对象中,有一个是True全部是True
- zip():拉链方法 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
-
l1 = [1,2,3,4,5,6] l2 = ['a','b','c',5,6] l3 = ('*','**',(1,2,3)) for i in zip(l1,l2,l3): print(i)
print('__iter__' in dir(zip(l1,l2,l3)))
print('__next__'in dir(zip(l1,l2,l3)))'''运行结果 #以最短的对象内的元素有几个就竖着取值取几个元祖 形成元素的个数与最短的可迭代对象长度一样
(1, 'a', '*') (2, 'b', '**') (3, 'c', (1, 2, 3))
True
True ''' - zip()是一个迭代器
-
filter():过滤,用一个函数过滤一个可迭代对象 类似于[i for i in range() if i ==0]
- fliter(函数,可迭代对象):也是一个迭代器
- map():循环
- map(函数,可迭代对象):也是一个迭代器
- 匿名函数:为了解决那些功能很简单的需求而设计的一种函数
- calc = lambda n:n**2
- calc为函数名
- n为匿名函数的变量
- n**2为函数的返回值

浙公网安备 33010602011771号