函数式编程中如果需要传入函数作为参数,此时不需要显示的定义函数,直接使用匿名函数会十分方便。总结匿名函数的使用特点如下:
1. 匿名函数使用关键字lambda来定义,冒号前面是函数参数,冒号后面是一个表达式;
2. 匿名函数限制只能有一个表达式,不能做赋值,也不用写return,返回值就是该表达式的结果;
3. 用匿名函数的好处是不必担心函数名冲突;
下面是匿名函数的使用示例
1.匿名函数在高阶函数中的使用
list1 = list(map(lambda x:x*x,[1, 2, 3, 4]))
print(list1) #打印:[1, 4, 9, 16]
2.匿名函数也是一个函数对象,
把匿名函数赋值给一个变量,再利用变量来调用该函数:
f = lambda x,y : x + y
print(f(1,2)) #打印:3
3.匿名函数作为返回值返回
def func1(x,y):
return lambda: x * x + y * y
4.Python三元表达式在匿名函数中的应用
Pyhton中的三元表达式与其他语言有所不同,其伪代码形式为:
(条件为真时返回的结果) if (条件判断) else (条件为假时返回的结果),具体示例如下:
x = 2
y = 1
r = x if x > y else y
print(r)