簡(jiǎn)述
除了def語(yǔ)句之外,Python還提供了一種生成函數(shù)對(duì)象的表達(dá)式形式。這個(gè)表達(dá)式創(chuàng)建了一個(gè)之后能夠調(diào)用的函數(shù),但是它返回了一個(gè)函數(shù)而不是將這個(gè)函數(shù)賦值給一個(gè)變量名稱。
lambda表達(dá)式
lambda的一般形式是關(guān)鍵字lambda,之后是一個(gè)或者多個(gè)參數(shù),緊跟的是一個(gè)冒號(hào),之后是一個(gè)表達(dá)式:lambdaargument1argument2...:expressionusingarguments
lambda是一個(gè)表達(dá)式,而不是一個(gè)語(yǔ)句。
作為一個(gè)表達(dá)式,lambda返回了一個(gè)值,可以選擇性地賦值給一個(gè)變量名。相反,def語(yǔ)句總是得在頭部將一個(gè)新的函數(shù)賦值給一個(gè)變量名,而不是將這個(gè)函數(shù)作為結(jié)果返回。
lambda主體是一個(gè)單一的表達(dá)式,而不是一個(gè)代碼塊。
默認(rèn)參數(shù)也能夠在lambda參數(shù)中使用,就像在def中使用一樣。
>>>x=(lambdaa="www.",b="pythontab",c=".com":a+b+c)
>>>x("bbs.")
'bbs.pythontab.com'
為什么使用lambda
1.使用Python寫(xiě)一些執(zhí)行腳本時(shí),使用lambda可以省去定義函數(shù)的過(guò)程,讓代碼更加精簡(jiǎn)。
2.對(duì)于一些抽象的,不會(huì)別的地方再?gòu)?fù)用的函數(shù),有時(shí)候給函數(shù)起個(gè)名字也是個(gè)難題,使用lambda不需要考慮命名的問(wèn)題。
3.使用lambda在某些時(shí)候讓代碼更容易理解。
以上內(nèi)容為大家介紹了Python中的匿名函數(shù)lambda,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/