本文,我们学习python lambda函数。
首先,看一下python lambda函数的语法,如下:
f=lambda [parameter1,parameter2,……]:expression
lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值。lambda语句构建的其实是一个函数对象。
1》无参数
f=lambda :'python lambda!'
>>> f
<function <lambda> at 0x06BBFF30>
>>> f()
'python lambda!'
2》有参数,无默认值
f=lambda x,y:x+y
>>> f(3,4)
7
3》有参数,有默认值
f=lambda x=2,y=8:x+y
>>> f
<function <lambda> at 0x06C51030>
>>> f()#x取默认值2,y取默认值8
10
>>> f(1)#x取1,y取默认值8
9
>>> f(3,3)#x,y均取值3
6
4》lambda返回的函数还可以做为另一个函数的参数
sumxy=lambda x,y:x+y
def test(f,m,n):
print f(m,n)
>>> sumxy(4,5)
9
>>> test(sumxy,4,5)
9