Python 中的 Lambda
Published in
Mar 9, 2022
Lambda 是什麼?
Lambda 是一個希臘字母,樣子是 λ。在其他語言中,如:Java, Ruby 等等,也有Lambda。Lambda 帶有一個「匿名的」意思,以 Python 來說,Lambda 是一個「匿名函式」。
那麼為什麼 Python 程式語言中需要 Lambda 函式呢?Lambda 函式有著簡潔,快速得出結果的特性。如果不使用 Lambda,我們使用 def 也可以達到相同的效果。
Lambda 函式的使用方法
我們先來使用 def 宣告 add 函式。Lambda 宣告 add_via_lambda 函式
執行看看
可以看出執行結果是完全一樣的,聰明的你相信已經看出規律了
前面的是參數,後面的是運算式。更清楚一點,跟 def 宣告的函式比較
運算式(expression)
運用情景:map
map 基本用法,使用 def
宣告函式
如果使用 lambda 來改寫 map,可以寫的更簡潔,一行就可以搞定。對於我們日常運算十分有幫助。
運用情景:filter
filter 的用法是 filter(函式, 列表),如果符合條件的則會被過濾出來
可以更精簡的寫成一行,效果一樣
運用情景:switch
Python 3.10 之前因為沒有類似 switch 的語法,所以可能會使用 lambda 來撰寫 switch 的邏輯。
心得
Lambda 是個很有趣的語法,寫的太多不易閱讀,用的恰恰好卻能夠讓程式更加精簡。先從看懂語法開始,了解 Lambda 可以運用在哪些地方。感覺不錯😃