嗯,我的确尝试了解Lambda函数,但没有通过任何链接解释关于它的流程以及python解释器处理方式的几个问题,或者我可能无法正确理解它。 我有几个问题,请有人为我澄清它们。 下面是代码:了解lambda函数
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'>
我的问题是:
- 对于
f(1)
和f(3)
为什么print
说法不叫,当 我们叫f1(100)
为什么lambda语句没有编译。 - 功能
f1
中的x
和n
之间的关系是什么。 - 我想
f(5)
将在15(10 + 5) - 请解释
print f1(10)
- 另外,请让我知道什么是
lambda x:
在这里表示,这是块是x的名字吗?请解释。
谢谢大家。
在提出任何问题之前,请尝试先搜索。请参考此链接。 http://stackoverflow.com/questions/1085875/what-is-this-lambda-everyone-keeps-speaking-of/1086347#1086347 –
@tailor_raj:恩,谢谢你的链接,但即使在阅读后,我仍然会问我有点问题,因为我正在寻找某些特定的解释(基于python),并且在发布这个问题之前我也搜索了!我非常期待像你这样的元素肯定会回应我的问题的完整性,几乎每一个问题中都有一个问题!所以我会说停止劝阻人们提问。 – ramd
这不是在劝阻人们。因为如果你搜索,肯定你会得到更多,然后无论你问。 –