?python lambda
當(dāng)我們?cè)谑褂煤瘮?shù)時(shí),有時(shí)候,并不需要顯示的定義一個(gè)函數(shù),我們可以使用匿名函數(shù)更加方便,在Python中對(duì)匿名函數(shù)也提供了支持。
比如當(dāng)我們想計(jì)算兩個(gè)數(shù)a,b之和時(shí),即f(a,b) = a + b。我們可以有兩種方法完成,第一種就是顯示的定義一個(gè)函數(shù)f(x,y),然后將參數(shù)傳進(jìn)去得到結(jié)果。第二種方式就是使用匿名函數(shù)了。
f = lambda x,y:x+y
>>>f(1,2)
3
匿名函數(shù)lambda x,y:x+y實(shí)際上就是:
def f(x, y):
return x + y
在python中關(guān)鍵字lambda表示匿名函數(shù),冒號(hào)前面的x,y表示的時(shí)函數(shù)的參數(shù),匿名函數(shù)的語(yǔ)法就是:
lambda [arg1[,arg2,arg3....argN]]:expression
lambda語(yǔ)句中,冒號(hào)前是參數(shù),可以有多個(gè),用逗號(hào)隔開(kāi),冒號(hào)右邊的表達(dá)式的結(jié)果作為匿名函數(shù)的返回值。
匿名函數(shù)有一個(gè)限制就是只能有一個(gè)表達(dá)式,不用寫(xiě)return,匿名函數(shù)的返回值就是該表達(dá)式的結(jié)果。用匿名函數(shù)有個(gè)好處,因?yàn)楹瘮?shù)沒(méi)有名字,不必?fù)?dān)心函數(shù)名沖突。此外,匿名函數(shù)也是一個(gè)函數(shù)對(duì)象,也可以把匿名函數(shù)賦值給一個(gè)變量,再利用變量來(lái)調(diào)用該函數(shù):
>>> f = lambda x: x * x
>>> f
at 0x101c6ef28>
>>> f(5)
25
同時(shí),也可以把匿名函數(shù)作為函數(shù)的返回值返回,比如:
def build(x, y):
return lambda: x + y
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

