1、语法
lambda arguments : expression
执行该表达式并返回结果:
例如:
在参数a
上添加10,然后返回结果:
x = lambda a : a + 10print(x(5))
Lambda函数可以接受任意数量的参数:
例如:
将参数a
与参数b
相乘,并返回结果:
x = lambda a, b : a * bprint(x(5, 6))
例如:
汇总参数a
,b
和c
并返回结果:
x = lambda a, b, c : a + b + cprint(x(5, 6, 2))
2、使用Lambda函数的好处
将lambda用作另一个函数中的匿名函数时,可以更好地使用lambda函数。
假设有一个接受一个参数的函数定义,该参数将与一个未知数相乘:
def myfunc(n): return lambda a : a * n
使用该函数定义可创建一个始终使您发送的数字翻倍的函数:
例如:
def myfunc(n): return lambda a : a * nmydoubler = myfunc(2)print(mydoubler(11))
或者,使用相同的函数定义,使一个函数总是三倍的数字你发送:
例如:
def myfunc(n): return lambda a : a * nmytripler = myfunc(3)print(mytripler(11))
或者,在同一程序中使用相同的函数定义来创建两个函数:
例如:
def myfunc(n): return lambda a : a * nmydoubler = myfunc(2)mytripler = myfunc(3)print(mydoubler(11))print(mytripler(11))
在短时间内需要使用匿名函数时,请使用lambda函数。