例子
a = lambda x, y: x + y # 定義一個lambda函數(shù)并賦值給a
print(a(3, 4)) # 調(diào)用函數(shù)并打印
print(type(a)) # 查看對象的類型
運行結(jié)果為:
7
<class 'function'>
上面這個例子就是個簡單的lambda函數(shù)凛膏∥宋纾可以看出它和一般常定義的函數(shù)長得還是很不一樣的。但是,通過它的調(diào)用方法和類型檢查還是能夠看出它確實是一個函數(shù)的斥黑。
定義
lambda函數(shù)也叫匿名函數(shù)揖盘,它不需要為函數(shù)起名字。從上面的例子可以看出锌奴,lambda函數(shù)由三部分構(gòu)成兽狭。
首先是lambda標(biāo)記,說明這是個lambda函數(shù)鹿蜀。
參數(shù)部分箕慧。它跟在lambda標(biāo)記后邊,中間用空格隔開茴恰。參數(shù)可以是一個颠焦,也可以是多個。多個參數(shù)用逗號隔開往枣。參數(shù)用冒號和右邊的表達式分開伐庭。
表達式部分。冒號的右邊為lambda函數(shù)的表達式分冈。lambda函數(shù)會自動返回這個表達式的結(jié)果圾另。
作用
由于lambda函數(shù)這種簡單的定義方式,可以使代碼變得更簡潔雕沉。同時也是由于這種定義方式集乔,lambda函數(shù)只能寫一些簡單的函數(shù)。
lambda函數(shù)也叫匿名函數(shù)坡椒,所以lambda函數(shù)經(jīng)常會定義一些不用多次調(diào)用的簡單函數(shù)扰路。
lambda函數(shù)經(jīng)常作為filter函數(shù)和map函數(shù)的參數(shù)使用尤溜。