格式:
# x是形参, y是返回值
func = lamdba x: y
关键字lamdba
表示匿名函数,冒号前面的x
表示函数参数,后面的y
表示匿名函数的返回值。
匿名函数有个限制,就是只能有一个表达式,不用写return
,返回值就是该表达式的结果,比如:
tmpList2 = filter(lambda x: (x % 2 == 1), range(10))
print(list(tmpList2))
用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
f = lamdba x: x * x
print(5)
# 返回<function <lambda> at 0x101c6ef28>
print(f(5))
# 返回25
同样,也可以把匿名函数作为返回值返回,比如:
def build(x, y):
return lambda: x * x + y * y