首頁 >後端開發 >Python教學 >python基礎教學之匿名函數lambda

python基礎教學之匿名函數lambda

高洛峰
高洛峰原創
2017-02-21 10:37:511955瀏覽

 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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn