lambda函数是一个简短的匿名函数。
lambda函数可以接受任意数量的参数,但只能包含一个表达式。
语法
lambda 参数 : 表达式
接受参数,执行表达式,返回结果:
示例
一个lambda函数,把参数加10,然后返回结果:
x = lambda a : a + 10
print(x(5))
Lambda函数可以接受任意数量的参数:
示例
一个lambda函数,将参数a与参数b相乘,然后返回结果:
x = lambda a, b : a * b
print(x(5, 6))
示例
一个lambda函数,对参数a、b、c求和并返回:
x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
为什么使用Lambda函数?
lambda的好处是让代码更简洁优雅。
假设你有一个函数,带一个参数,这个参数将与一个未知数相乘:
def myfunc(n):
return lambda a : a * n
上面的函数定义返回一个lambda函数。
下面的示例使用这个函数定义创建了一个函数,该函数把传入的参数乘以2,返回结果:
示例
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(1))
使用相同的函数定义再创建一个函数,该函数把传入的参数乘以3,返回结果:
示例
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(1))
也可以使用相同的函数定义把创建的两个函数放在同一个程序中:
示例
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(1))
print(mytripler(1))
lambda函数通常是在短时间内需要匿名函数时使用。