#abs(x)绝对值
#all(iterable)迭代iterable元素,如果全为真就返回True,否者就是False (注意非0为真)
print(all([0,1,2]))
#any(iterable)就是有一个是真,就是真
print(any([1,0,2]))
#ascii(object)就是把内存数据对象变成可以打印的字符串
print(ascii([1,2,"中文"]))
#bin(x)把数字转换成二进制
print(bin(3))
#bool(x)判断真假
# bytearray就是把字符串变成一个数组格式,可以修改
b=bytearray("abc",encoding="utf-8")
print(b[0])#打印的是a对饮的asdii
b[1]=50
print(b)
#callable()判断是否可以被调用
#chr(i)返回ascii对应的信息
print(chr(99))
#ord()与chr()相反
#compile()用于把代码进行编译
a="for i in range(10):print(i)"
c=compile(a,"",'exec')
print(exec(c))#exec可以把字符串执行
#divmod(a,b)就是取除b后的商和余数
print(divmod(5,3))
#enumerate(iterable,start)就是可以被迭代对象,遍历里面对象,生成序列和对象
h=["a","b","c"]
print(list(enumerate(h,start=1)))
#结果[(1, 'a'), (2, 'b'), (3, 'c')]
#eval()
x=1
print(eval("x+1"))
#exec()
#filter() 过滤出想要的
res=filter(lambda x:x>5,range(10))
for i in res:
print(i)
#map()#把传入的每个值进行处理,然后把原来的元素覆盖掉
res1=map(lambda n:n*n,range(10))
for j in res1:
print(j)
#reduce
from functools import reduce
res3=reduce(lambda x,y:x+y,range(10))#就是开始
print(res3)
print(sum(range(10)))#一样的效果,就是0-9加起来
#frozenset把集合变成不可变集合
#globals()全部变量
print(globals())
#hash(object)即使把值映射到一个序列号中,方便查找
hash("gongwei")
#hex(x)把一个数字转成16进制
#locals()局部变量
#oct()转成8进制
#pow()
pow(3,5)#返回3的5次方
#round()小数点后保留两位
round(1.3342,2)
#slice()切片
#sorted()排序
a={6:2,8:0,1:4,-5:6,99:11,4:22}
print(a)
print(sorted(a.items()))#排序后变成列表,按照k排序
print(sorted(a.items(),key=lambda x:x[1]))#按照value排序
#zip()拉链,最后组合成一个字典
a=[1,2,3,4]
b=['a','b','c','d']
for i in zip(a,b):#如果ab大小不一样,按照小的来
print(i)
#__import__("模块名")