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