python lambda
當我們在使用函數時,有時候,並不需要顯示的定義一個函數,我們可以使用匿名函數更加方便,在Python中對匿名函數也提供了支援。
例如當我們想要計算兩個數a,b和時,即f(a,b) = a + b。我們可以有兩種方法完成,第一種就是顯示的定義一個函數f(x,y),然後將參數傳進去得到結果。第二種方式就是使用匿名函數了。
f = lambda x,y:x+y >>>f(1,2) 3
匿名函數lambda x,y:x+y其實就是:
def f(x, y): return x + y
在python中關鍵字lambda表示匿名函數,冒號前面的x,y表示的時函數的參數,匿名函數的語法就是:
lambda [arg1[,arg2,arg3....argN]]:expression
lambda語句中,冒號前是參數,可以有多個,用逗號隔開,冒號右邊的表達式的結果作為匿名函數的回傳值。
匿名函數有一個限制就是只能有一個表達式,不用寫return,匿名函數的回傳值就是該表達式的結果。用匿名函數有個好處,因為函數沒有名字,不必擔心函數名衝突。此外,匿名函數也是函數對象,也可以把匿名函數賦值給一個變量,再利用變數來呼叫該函數:
>>> f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5) 25
同時,也可以把匿名函數作為函數的返回值返回,例如:
def build(x, y): return lambda: x + y
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
更多python基礎教學之匿名函數lambda相關文章請關注PHP中文網!