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

python基礎教學之匿名函數lambda

高洛峰
發布: 2017-02-21 10:37:51
原創
1940 人瀏覽過

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板