一、内置函数
所谓内置函数就是Python自带的函数
1 print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真 2 print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真 3 print(bin(10)) #十进制转二进制(0b1010:ob代表二进制,10的二进制是1010) 4 print(bool('a')) #把一个对象转换成布尔类型(非空即真,非0即真) 5 print(callable('aa')) #判断传入的对象是否可调用 6 print(chr(66)) #取数字对应的ascii 7 print(ord('B')) #取字符串对应的ascii码 8 print(dict(a=1,b=2)) #转换字典 9 print(dir('a')) #打印传入对象的可调用方法10 print(eval('1+1')) #执行python代码,只能执行简单的,定义数据类型和运算11 print(exec('def a():pass')) #执行python代码12 print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选13 print(map(lambda x:x>5,[1,2,3,4,5,6]))14 print(frozenset({1,2,3,3})) #定义一个不可修改的集合15 print(globals()) #返回程序内所有的变量,返回的是一个字典16 print(locals()) #返回局部变量17 print(hash('aaa'))#把一个字符串哈希成一个数字18 print(hex(111)) #数字转成16进制19 print(max(111,12))#取最大值20 print(min(111,12))#取最小值21 print(abs(-10)) #取绝对值22 print(oct(111)) #把数字转换成8进制23 print(round(1.215,2))#取几位小数24 print(sorted([2,31,34,6,1,23,4]))#排序
内置函数zip
把多个list组合到一起变成一个二维数组
1 list1 = ['a', 'b', 'c', 'd', 'f', 'g'] 2 list2 = [1, 2, 3] 3 list3 = ['!', '#', '%', '*'] 4 list4 = ['A', 'B', 'C', 'D', 'E'] 5 # zip是把多个list组合到一起变成一个二维数组 6 print(list(zip(list1, list2, list3, list4))) 7 # 如果list长度不一样,则循环次数以元素少的list为准 8 for a, b, c, d in zip(list1, list2, list3, list4): 9 print(a, b, c, d)
内置函数map
自动循环调用函数
1 def my(num): 2 return str(num) 3 lis = [1,2,3,4,5,6,7,8,9] 4 # 将lis中的每个元素作为函数my的入参调用函数 5 res = list(map(my,lis)) # 将对象强制转换成list 6 print(res) 7 # 和以下代码功能一样 8 new_lis = [] 9 for i in lis: 10 new_lis.append(my(i)) 11 print(new_lis)
内置函数filter
同样是循环调用函数
1 def even(num): 2 if num % 2 == 0: 3 return True 4 else: 5 return False 6 lis = [1, 2, 3, 4, 5, 6, 7, 8, 9] 7 # filter只保留结果返回为真的list中的元素 8 res1 = list(filter(even, lis)) 9 # 函数返回什么就保存什么 10 res2 = list(map(even, lis)) 11 print(res1) 12 print(res2)
二、匿名函数
函数的功能很简单,只需要用一次
1 res = lambda x:x+1 #冒号后面的是函数的函数体,冒号前面的是返回值2 print(res(2))
三、字典排序
1 dic = { 'a':'2','b':'1','c':'3'}2 res1 = sorted(dic.items(),key=lambda x:x[0]) #根据字典的key排序3 res2 = sorted(dic.items(),key=lambda x:x[1]) #根据字典的value排序4 print(sorted(dic.items())) # 后面不指定key和value则默认按照key排序5 print(res1)6 print(res2)
四、列表生成式
1 k = [i for i in range(1,101,2)] #生成100以内的奇数,放入一个list里面2 print(k)
1 import random2 red_num = random.sample(range(1,34),6)3 new_num = []4 new_num = [str(num).zfill(2) for num in red_num]5 # 以下代码和上面的列表生成式效果一样6 for num in red_num:7 tmp = str(num).zfill(2)8 new_num.append(tmp)
五、三元表达式
1 a = 52 b = 43 c = a if a > b else b4 # 相当于:5 if a > b:6 c = a7 else:8 c = b