lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
通过几个例子来理解
- 对比定义的函数和lambda
def fun(x):
return x**2
print(fun(2))
f = lambda x:x**2
print(f(2))
输出:
4
4
- 三个数的和:
ft = lambda x,y,z:x+y+z
print(ft(1,2,3))
输出:
6
- 将lambda表达式放在def函数中:
def fun(x):
return lambda y:x+y
# 相当于a = lambda y:1+y
a = fun(1)
print(a(1))
输出:
2