嗯,我的確嘗試瞭解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
這不是在勸阻人們。因爲如果你搜索,肯定你會得到更多,然後無論你問。 –