前言
以下都是自己的一些学习笔记,可能有写的不对的地方,还望各位大佬体谅和加以指正。
什么是 lambda 函数?
lambda
函数是一种小的匿名函数。
lambda
函数可接受任意数量的参数,但只能有一个表达式。
语法
lambda 参数 : 函数体
执行表达式并返回结果:
一个 lambda
函数,它把作为参数传入的数字加 10,然后打印结果:
x = lambda a : a + 10
print(x(5))
一、为什么使用 lambda 函数?
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
使用该函数定义来创建一个总是使所发送数字加倍的函数:
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
函数。
总结
lambda 函数可以使我们的代码变的更加精简,并且某一些简单函数可以直接使用 lambda 函数实现。