参考:匿名函数
NOTE
1.Python对匿名函数提供了有限的支持。
eg.
#!/usr/bin/env python3
def main():
lis = list(map(lambda x: x*x, [1, 2, 3, 4, 5]))
print(lis)
if __name__ == '__main__':
main()
sh-3.2# ./lambda1.py
[1, 4, 9, 16, 25]
可以看出,lambda相当于函数:
def func(x):
return x*x
2.关键字lambda表示匿名函数,冒号前面的x表示函数参数。
可以参考这篇博客:Python中lambda表达式学习
3.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
4.用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。
5.匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数.
#!/usr/bin/env python3
def main():
f = lambda x: x*x
print(f(int(input())))
if __name__ == '__main__':
main()
sh-3.2# ./lambda2.py
9
81
sh-3.2# ./lambda2.py
100
10000
6.同样,也可以把匿名函数作为返回值返回。(意义不明)
def func(x, y):
return lambda: x*y
2017/2/18