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