python 匿名函數 lambda
阿新 • • 發佈:2017-12-17
lis 不用 有一個 def 函數參數 沖突 pre 利用 匿名
一、lambda使用語法:
關鍵字lambda
表示匿名函數,冒號前面的x
表示函數參數,冒號後面只能有一個表達式,不用寫return
,返回值就是該表達式的結果。
1 >>> list(map(lambda x: x * x, [1, 2, 3, 4, 5])) 2 [1, 4, 9, 16, 25]
無參數lambda表達式:
1 >>> f = lambda : 2 * 2 2 >>> f() 3 4
二、匿名函數是一個函數對象
用匿名函數有個好處,因為函數沒有名字,不必擔心函數名沖突。此外,匿名函數也是一個函數對象,也可以把匿名函數賦值給一個變量,再利用變量來調用該函數:
1 >>> f = lambda x: x * x 2 >>> f 3 <function <lambda> at 0x1014aea60> 4 >>> f(5) 5 25
同樣可以把匿名函數作為返回值:
1 >>> def build(x, y): 2 ... return lambda : x * x + y * y 3 ... 4 >>> f = build(1, 2) 5 >>> f() 6 5
python 匿名函數 lambda