lambda的基本語法和基礎應用,網上不少。這裏就很少說了。這裏主要說下lambda函數與其餘函數嵌套使用的問題。如下面的函數爲例python
def test(n): print (n) print ("-"*10) return lambda x:n+x a = test(1) print(a(3))
輸出結果:函數
1 ---------- 4
一、 test(1)中的1 並無被傳到lambda函數裏。
二、a函數的實參,如本例中的 3,被傳遞到lambda 的參數裏,對應的形參是 x ,
三、lambda後面的表達式會在整個函數裏尋找變量,好比 n+x 中的n,就會在test函數中取值。code
即使是lambda參數裏的形參和test一致,由於第一條的緣故,會有產生如下結果class
def test(n): print (n) print ("-"*10) return lambda n:n+8 a = test(1) print(a(3))
結果:test
1 ---------- 11