Lambda函数是一个小的匿名函数。Lambda函数可以接受任意数量的参数,但只能具有一个表达式。

1、语法

lambda arguments : expression

执行该表达式并返回结果:

例如:

在参数a上添加10,然后返回结果:

x = lambda a : a + 10
print(x(5))

Lambda函数可以接受任意数量的参数:

例如:

将参数a与参数b相乘,并返回结果:

x = lambda a, b : a * b
print(x(5, 6))

例如:

汇总参数abc并返回结果:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

2、使用Lambda函数的好处

将lambda用作另一个函数中的匿名函数时,可以更好地使用lambda函数。

假设有一个接受一个参数的函数定义,该参数将与一个未知数相乘:

def myfunc(n):
    return lambda a : a * n

使用该函数定义可创建一个始终使您发送的数字翻倍的函数:

例如:

def myfunc(n):
    return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

或者,使用相同的函数定义,使一个函数总是三倍的数字你发送:

例如:

def myfunc(n):
    return lambda a : a * n

mytripler = myfunc(3)

print(mytripler(11))

或者,在同一程序中使用相同的函数定义来创建两个函数:

例如:

def myfunc(n):
    return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11))
print(mytripler(11))

在短时间内需要使用匿名函数时,请使用lambda函数。

推荐文档