迭代器
凡是可作用于for循环的对象都是Iterable类型(可迭代类型)
凡是可用于next()函数的对象都是Iterator类型(迭代器)
list,dict,str可通过inter()转换成迭代器
可通过isintance()判断是否是迭代器
迭代器的运算是惰性的,并且可以表示无限大的数据流
匿名函数
def sayhi(n):
print(n)
sayhi(3)
(lambda n:print(n))(5)
calc = lambda n:print(n)
calc(5)
calc = lambda n:3 if n<4 else n#只能进行三元运算
print(calc(2))
内置函数
abs()#取绝对值
all()#可迭代对象中全为真则返回真
print([all(1,5,-3)])
any()#可迭代对象中有真则返回真
print([any(1,5,-3)])
ascii()#把数据对象转换成一个可打印的字符串形式
bin()#把十进制整数转换成二进制
bool()#判断真假
bytearray()#字节数组打印出对应字符串的ASCII码的位数
b = bytearray(“abcde”,encoding=“utf-8”)
b[3] = 50
print(b)
callable()#判断是否可以调用
chr()#返回数字在ASCII码内该位数的字符
chr(98)
ord()#返回字符在ASCII码内对应位数
ord(“b”)
compile()#把代码转换成字节码
code = “for i in range(10)
print(i)
c = compile(code,”",“exec”)
exec©
code = “1+3/2*6”
c = compile(code,"",“eval”)
eval©#eval(code)
dir#查看方法
divmod#返回结果和余数
print(divmod(5.2))
eval#把字符串变成字典(简单计算)
exec#把字符串变成字典(循环)
filter#过滤数据
res = fliter(lambda n:n>5,range(10))
for i in res:
print(i)
map#对所有值进行处理再覆盖原值
res = map(lambda n:nn,range(10))#[i2 for i in range(1)]
for i in res:
print(i)
reduce#
import functools
res = functools.reduce(lambda x,y:x+y,range(10))
print(res)
frozeset#不可变集合
a = set([1,2,3,4,5,6,7,66,234,34,5])
a = frozenset([1,2,3,4,5,6,7,66,234,34,5])
globals#返回当前程序的key,value形式(不包含局部变量)
print(globals())
hash#哈希:映射,排列,二分法
help#查看帮助
hex#把一个数字转成16进制
locals#
def test():
local_var = 333
print(locals)
test()
print(globals().get(‘local_var’))
oct#把一个数字转8进制
pow#返回数据的幂运算结果
pow(3,3)
repr#把一个对象转换成字符串形式
round()#保留两位小数
round(1.345)
slice()#切片
d = range(20)
d[slice(2,5)]#range(2,5)
sorted#排序
a = {6:2,0:2,4:22,58:0,99:11}
print(a)
print(soted(a.items()))#按key排序后输出成列表
print(soted(a.items(),key=lambda x:x[1]))
vars#返回一个对象的所有属性名
zip#组合
a = [1,2,3,4,5,6]
b = [“a”,“b”,“c”,“d”]
for i in zip(a,b)
prinnt(i)#按少的拼
import
import(“decorator”)#引入字符串