内置函数
import time
__import__('time') #通过字符串导入模块,例如time以定义为变量,要导入模块,就需要此
匿名函数
salaries={ 'egon':3000, 'alex':100000000, 'wupeiqi':10000, 'yuanhao':250 } #求工资最多的人名 print(max(salaries,key=lambda k:salaries[k])) #salarise相当于一个迭代器,将key值传递给lambda的k,匿名函数返回salaries[k],然后进行比较salaries[k]。 结果为:alex
print(sorted(salaries,key=lambda k:salaries[k])) 结果为:['yuanhao', 'egon', 'wupeiqi', 'alex']
d={'a':26,'g':20,'e':22,'c':24,'d':23,'f':21,'b':25} 根据value排序
sorted(d.items(),key = lambda d:d[1] ,reverse = True )
结果为:[('a', 26), ('b', 25), ('c', 24), ('d', 23), ('e', 22), ('f', 21), ('g', 20)]
abs()#取绝对值
print(abs(-1)) all()#判断迭代器对象的bool值,如果每一个都为ture则返回ture,如果迭代对象为空也返回ture print(all(' ')) #Ture 因为这个可迭代对象为空 print(all((1,' ',2,None))) #Ture False Ture False 所以为False print(all(i for i in range(1,10))) #Ture
any()#判断迭代对象的bool值,如果有一个为ture则返回ture,如果迭代对象为空则返回False print(any([])) print(any([None,0,'',{},1])) sum()#求和 res=sum(i for i in range(3)) print(res) bin()#将十进制转化为二进制 print(bin(3)) bool()#判断布尔值 print(bool(0)) print(bool(None)) print(bool('')) bytes() #转化成字节数据 print(bytes('hello',encoding='utf-8')) callable()#函数是否可被调用,返回布尔值 def test(): pass print(callable(test)) chr()#将数值对应的ASCII码字符串输出 print(chr(67)) ord()#返回一个单字符串的ASCII代码值。 print(ord('A')) int #整型 num=1 #num=int(1) print(type(num)) #查看num的类型 print(isinstance(num,int)) #isinstance判断num是否为int类型 str x='asdfa' print(str(1)) #将1转化成字符串类型 print(str({'a':1})) list x=[] x=list(i for i in range(10)) #list可将可迭代对象里面的元素转换成列表 print(x) tuple #元组 dict #字典 d={'a':1} d=dict(x=1,y=2,z=3) print(d) set #集合 s={1,2,3,4,4} #去重 print(s) s.add(5) print(s) frozenset #不可变集合 f=frozenset({1,2,3,4}) print(type(f)) dir() l=[] print(dir(l)) #查看这个对象有哪些方法 print(help(sum)) #查看这个函数的用法 divmod() print(divmod(100,33)) #得到x//y,x%y format()#格式化输出 name = "my name is {0} , i am {1} years old" name2 = "My name is {name} , i am {age} years old" print(name.format("Alex",22))
print(name2.format(name="Alex",age=22)) hash()#一种加密算法 s='hello' print(hash(s)) hex()#十进制转十六进制 print(hex(10)) id()#查看唯一的身份内存地址,两个变量相等数据较小的时候id一样 iter()#将一个对象变成迭代对象 max和min print(max(1,2,3,4,10,3)) print(min(1,2,3,4,10,3))
zip()#拉链 是一个迭代器 l1=[1,2,3,4] s='hel' for i in zip(l1,s): print(i) #传回值是元组的形式 sorted() l=[3,4,1,0,9,10] print(sorted(l)) #返回值是列表,默认是升序 print(sorted(l,reverse=True)) #降序排列 map() l=[1,2,3,7,5] m=map(lambda item:item**2,l) #返回值是一个迭代器对象 print(list(m)) 结果为:[1, 4, 9, 49, 25] #map(func, seq) #第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个迭代对象。 #map()函数是将func作用于seq中的每一个元素,并将所有的调用结果返回。 reduce() #序列合并到单个值 from functools import reduce #导入合并模块 l=list(range(100)) print(reduce(lambda x,y:x+y,l,100)) #结果为5050 filter()#过滤 name_l=[ {'name':'egon','age':18}, {'name':'dragonFire','age':1000}, {'name':'gaoluchuan','age':9000}, {'name':'fsw','age':10000}, ] f=filter(lambda d:d['age'] > 100,name_l) #左边函数是Ture时才算过滤出来lambda d:d['age'] > 100 print(f) #结果是name_l的元素 oct() print(oct(10)) #十进制转八进制 pow() print(pow(3,2,2)) #两个值x**y 三个值x**y%z reversed() l= reversed([1,5,3,9]) #返回值是一个迭代对象 print(list(l)) #反转 round:四舍六入五留双 print(round(10.3)) slice() #切片功能 l=[1,2,3,4,5,6,7,9] s=slice(2,5,2) #(开始,结束,步长) print(l[s]) vars()#如果没有参数,就相当于locals局部名称空间