参考:
NOTE
1.Python对匿名函数提供了有限的支持。
eg.
#!/usr/bin/env python3def 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表示函数参数。
可以参考这篇博客:
3.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
4.用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。
5.匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数.
#!/usr/bin/env python3def main(): f = lambda x: x*x print(f(int(input())))if __name__ == '__main__': main()
sh-3.2# ./lambda2.py 981sh-3.2# ./lambda2.py 10010000
6.同样,也可以把匿名函数作为返回值返回。(意义不明)
def func(x, y): return lambda: x*y
2017/2/18