?python lambda
當我們在使用函數(shù)時,有時候,并不需要顯示的定義一個函數(shù),我們可以使用匿名函數(shù)更加方便,在Python中對匿名函數(shù)也提供了支持。
比如當我們想計算兩個數(shù)a,b之和時,即f(a,b) = a + b。我們可以有兩種方法完成,第一種就是顯示的定義一個函數(shù)f(x,y),然后將參數(shù)傳進去得到結果。第二種方式就是使用匿名函數(shù)了。
f = lambda x,y:x+y >>>f(1,2) 3
匿名函數(shù)lambda x,y:x+y實際上就是:
def f(x, y): return x + y
在python中關鍵字lambda表示匿名函數(shù),冒號前面的x,y表示的時函數(shù)的參數(shù),匿名函數(shù)的語法就是:
lambda [arg1[,arg2,arg3....argN]]:expression
lambda語句中,冒號前是參數(shù),可以有多個,用逗號隔開,冒號右邊的表達式的結果作為匿名函數(shù)的返回值。
匿名函數(shù)有一個限制就是只能有一個表達式,不用寫return,匿名函數(shù)的返回值就是該表達式的結果。用匿名函數(shù)有個好處,因為函數(shù)沒有名字,不必擔心函數(shù)名沖突。此外,匿名函數(shù)也是一個函數(shù)對象,也可以把匿名函數(shù)賦值給一個變量,再利用變量來調用該函數(shù):
>>> f = lambda x: x * x >>> fat 0x101c6ef28> >>> f(5) 25
同時,也可以把匿名函數(shù)作為函數(shù)的返回值返回,比如:
def build(x, y): return lambda: x + y
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
