好吧,我确实尝试阅读有关 Lambda 函数的信息,但没有找到任何链接,该链接解释了有关其流程和 python 解释器处理方式的一些问题,或者我可能无法正确理解它。我有几个问题,请有人为我澄清一下。这是代码:
def f1(n):
print 'in f1, value is : ', n
return lambda x: x+n
if __name__ == '__main__':
f= f1(100)
print f(1)
print f(3)
print f1(10)
print f(5)
print type(f1)
输出为:
in f1, value is : 100
101
103
in f1, value is : 10
<function <lambda> at 0x019C66B0>
105
<type 'function'>
我的问题是:
- For
f(1)
和f(3)
whyprint
语句没有被调用,以及当我们调用f1(100)
了为什么 lambda 语句没有被编译。 x
和n
在功能上是什么关系f1
。- 我以为
f(5)
会 15 ( 10 + 5) - 请解释
print f1(10)
- 另外,请让我知道
lambda x:
这里是什么意思,是这个块的 x 名称吗?请解释。
谢谢大家。