1、匿名函数是用lambda这个关键字定义
lambda x:x+1 第一个x代表形参,x+1相当于函数的返回值
#lambda x:x+1 第一个x代表形参,x+1相当于函数的返回值
defcalc(x):return x + 1res= calc(10)print(res)
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py11
2、calc这个函数名等价于 lambdax:x+1
defcalc(x):return x + 1res= calc(10)print(res)print(calc) #是一个内存地址
print (lambda x:x+1)
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py11
at 0x0000000000D5F2F0>
defcalc(x):return x + 1res= calc(10)#print (res)#print(calc)
func=lambda x:x+1 #是一个内存地址
print (func(10)) #func() 运行calc函数,func(10)运行func函数传参是10
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py11
3、要想把gouguqi变为 gouguoqi_niubi
name = "gouguoqi" #想变成"gouguoqi_niubi"
defchange_name(x):return name+"_niubi"#返回值是 gouguqi_niubi
res=change_name(name)#把返回值给你一个变量
print(res)#打印出来返回值
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py
gouguoqi_niubi
用匿名函数lambda怎么写
name = "gouguoqi"func=(lambda x:x+"_niubi")print(func(name))
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py
gouguoqi_niubi
4、匿名函数不应该单独使用,而是应该跟其他函数在一起配合使用,也不能有复杂的逻辑,就是一个明确的处理结果,就类似x+1 x+"_niubi"这种操作
第一个x代表形参的这个x可以是多个比如x,y,z
fun=lambda x,y,z:x+y+zprint(fun(1,2,3))
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py6
让x y z自增加1应该这样写
fun=lambda x,y,z:(x+1,y+1,z+1)print(fun(1,2,3))
C:\python35\python3.exe D:/pyproject/day14函数/匿名函数.py
(2, 3, 4)