有些时候,不需要显式地定义函数,直接传入匿名函数更方便。
>>> list(map(lambda x:x*x, (1, 2, 3, 4, 5)))
[1, 4, 9, 16, 25]
冒号前面的x表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
>>> f = lambda x: x * x
>>> f(2)
4
>>> def build(x, y):
... return x * x + y * y
...
>>> build(2, 4)
20
>>> def build(x, y):
... return lambda : x * x + y * y
...
>>>
>>> build(2, 4)
<functionbuild.<locals>.<lambda> at 0x2b8091d87598>
>>> build(2,4)() --再次调用-->lambda
20
本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1820951
原文地址:http://90sirdb.blog.51cto.com/8713279/1820951