python中是有匿名函數(shù)的,其表達(dá)式為lambda。
lambda表達(dá)式的語法格式如下:
lambda[parameter_list]:表達(dá)式
從上面的語法格式可以看出lambda表達(dá)式的幾個(gè)要點(diǎn):lambda表達(dá)式必須使用lambda關(guān)鍵字定義。在lambda關(guān)鍵字之后、冒號(hào)左邊的是參數(shù)列表,可以沒有參數(shù),也可以有多個(gè)參數(shù)。如果有多個(gè)參數(shù),則需要用逗號(hào)隔開,冒號(hào)右邊是該lambda表達(dá)式的返回值。
實(shí)際上,lambda表達(dá)式的本質(zhì)就是匿名的、單行函數(shù)體的函數(shù)。因此,lambda表達(dá)式可以寫成函數(shù)的形式。
例如,對(duì)于如下lambda表達(dá)式:
lambdax,y:x+y
可改寫為如下函數(shù)形式:
defadd(x,y):
returnx+y
上面定義函數(shù)時(shí)使用了簡化語法:當(dāng)函數(shù)體只有一行代碼時(shí),可以直接把函數(shù)體的代碼放在與函數(shù)頭同一行。
總體來說,函數(shù)比lambda表達(dá)式的適應(yīng)性更強(qiáng),lambda表達(dá)式只能創(chuàng)建簡單的函數(shù)對(duì)象(它只適合函數(shù)體為單行的情形)。但lambda表達(dá)式依然有如下兩個(gè)用途:對(duì)于單行函數(shù),使用lambda表達(dá)式可以省去定義函數(shù)的過程,讓代碼更加簡潔。對(duì)于不需要多次復(fù)用的函數(shù),使用lambda表達(dá)式可以在用完之后立即釋放,提高了性能。
以上內(nèi)容為大家介紹了Python培訓(xùn)之有匿名函數(shù)嗎,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。