匿名函数 lambda 参数: 真输出 if 条件else 假输出 只能实现简单的逻辑
comp=lambda a,b: "a比b小" if a<b else "a比b大"
print(comp(8,5))
内置函数
# 查看所有的内置函数
import builtins
print(dir(builtins)) #大写字母开头一般为内置常量名,小写字母一般是内置函数名
# abs():返回绝对值
print("abs(-1.1)=",abs(-1.1))
# sum():返回求和结果
print("sum([1,2])=",sum([1,2])) # 用列表、元组、集合的形式传参
# min()、max()、
print("min(-8,5,key=abs)=",min(-8,5,key=abs)) # 传入求绝对值函数,先求绝对值
# zip():将可迭代对象为参数,打包为一个个元组;长度不一致,则按短的输出
print("zip([1,2,30,],['a','b','c']):")
for i in zip([1,2,30,],['a','b','c']):
print(i)
# map(func,iter1):映射函数,func为自己定义的函数名(不需要括号),iter1为要放入的函数
def funmap(x):
return x*5
mp=map(funmap,[1,2,3]) # or map(lambda x :x*5,[1,2,3])
print("print(mp):,",mp,";print(list(mp)):",list(mp))
# reduce():先把对象中的两个元素取出,计算出一个值然后保存,用这个值与下一个值进行计算
# reduce(dunction,sequence):function:函数,且为有两个参数的函数;sequence:序列,可迭代对象
from functools import reduce
res = reduce(lambda a,b:a+b,[1,2,3,4])
print("reduce(lambda a,b:a+b,[1,2,3,4]):",reduce(lambda a,b:a+b,[1,2,3,4]))
拆包:对于函数中的多个返回数据,去掉元组、列表或字典,直接获取数据的过程
tua=(1,2,3,4)
# 方法一: 常在获取元素值时使用
a,b,c,d=tua
# 方法二: 常在函数调用时使用
a,*b=tua
print("a,*b=[1,2,3,4] 时 a,b=",a,",",b)