更新時間:2022年11月22日12時04分 來源:傳智教育 瀏覽次數(shù):
1.Python中匿名函數(shù)的定義模式
匿名函數(shù)就是沒有名字的函數(shù),匿名函數(shù)的定義模式是lambda argument_list:expression。表達(dá)式以lambda開頭,argument_list是表達(dá)式涉及的參數(shù),多個參數(shù)以逗號分隔;冒號后面的expression是具體的功能定義。整個表達(dá)式必須在一行內(nèi)完成。
2.匿名函數(shù)的定義示例
例如,之前某一節(jié)的代碼可以改寫為以下模式。
agg_sum = lambda x, y, z:x+y+z # 定義了一個基于lambda的功能表達(dá)式agg_sum,表達(dá)式的參數(shù)為x、y、z,這3個參數(shù)實(shí)現(xiàn)的邏輯是x+y+z
3.Python中匿名函數(shù)的調(diào)用方式
print(agg_sum(10,20,100)) # 調(diào)用該表達(dá)式并將10、20、10分別賦給x、y、z,然后打印輸出結(jié)果為20
總體來看,函數(shù)和匿名函數(shù)在簡單功能的實(shí)現(xiàn)上差別不大。但是,當(dāng)功能復(fù)雜時,用函數(shù)實(shí)現(xiàn)會更加有效。例如,功能帶有循環(huán)、條件、復(fù)制等多種操作,此時用匿名函數(shù)只能勉強(qiáng)實(shí)現(xiàn)部分功能,甚至復(fù)雜的邏輯無法表達(dá)出來,所有匿名函數(shù)在寫法、可理解、靈活性和功能上都差很多。因此,二者在不同的應(yīng)用場景下各有其優(yōu)勢。
北京校區(qū)