在python中,对匿名函数有特殊的写法:
lambda x:x*x
lambda关键字表示匿名函数,冒号前边x表示传递的参数,后边是返回的结果。
有几点值得注意的地方:
1、匿名函数必须 且 只能有一个表达式;
2、不需要写return;
3、值就是表达式的结果;
4、也可以把匿名函数作为返回值。
以filter为例:
li = [1,2,3]
new_li = filter(lambda x: x % 2 == 0,li)
print(list(new_li)) #[2]
上边代码,在filter中我们使用了匿名函数,这写比之前在外边定义一个函数更简洁,但代码的可读性也变差了!!!
实际上,以下两个写法是等价的:
lambda x : x * x
# 等于
def fn (x):
return x * x