1、lambda函数是语法简短的匿名函数
2、lambda函数可以接受一个或多个参数
3、lambda函数只能有一个表达式
4、一般用于非重用的代码块
1)g = lambda x : x**2
g(2)
2)(lambda x:x**2)(2)
如上面两种简单的使用方法,效果是一样的,它和下面通过定义函数的结果也是一样
def fun(x):
return x**2
fun(2)
1、lambda在函数式编程中的用法:
python提供了很多函数式编程的特性,如map,reduce,filter,sorted等都支持函数作为参数,lambda函数就可以应用在这些函数式编程中
如list排出
l = [2,-56,89,45,-6] 按照【绝对值的大小】升序排列
sorted(l, key=lambda x: abs(x))
2、应用在闭包中
def getResult(a,b):
return lambda x:ax+b
这种实现方式等价于如下
def func(a,b):
def func(x):
return ax+b
return func