Last Updated on 2021-03-28 by Clay
今天希望分享給大家的是 lambda 的使用方法。這是一個我原本也不太常用的功能,畢竟我很懶惰,總覺得都直接用 def 就好了嘛 XD
不過啊,我實驗室的同學老是抱怨:為什麼 Python 沒有 Switch 啊?
看得出來,他最先學習、習慣的語言肯定不是 Python。
Python 其實是可以自己自幹出 Switch 的!不過那要寫很多行哈哈。(跟 C 相比)
而那個傳說中能自幹出 Switch 的方法正是用 lambda。(網路上有很多教學,我就不獻醜了。)
我只想說,其實 lambda 還是有其好用的地方的!
lambda
那麼,我認為,首先我們還複習一個簡單的 function 定義吧!
def determine(n): if n >= 50: print('%s 至少大於 50!' % n) else: print('%s 小於 50。' % n)
這是一個簡單的 function!它讓我們輸入數值,並判斷這個數值是否大於 50,
假設我們這樣輸入:
determine(23)
Output:
23 小於 50。
反之,若我們輸入:
determine(99)
Output:
99 至少大於 50!
其實我一直看到印出的文字才覺得我的中文怪怪的!哈哈哈哈!
不過別在意這些小細節,這是為了讓大家能夠複習一下我們的定義一個 function 的重要功能。
那麼,接下來就輪到了今天的主角 —— lambda 了!
lambda 能夠精簡我們的 function,也被稱作『匿名的函式』,他不用事先定義,可以在需要用到的時候直接在當前直接定義、然後反覆利用。
比如說剛剛定義的 function:
determine = lambda n: print('%s 至少大於 50!' % n) if n >= 50 else print('%s 小於 50。' % n)
沒錯,就這樣被定義完了,一行。(一本正經)
我們再來看看剛剛兩個 output:
determine(23)
Output:
23 小於 50。
determine(99)
Output:
99 至少大於 50!
如何,是不是真的起到作用了呢?
當然啦,lambda 賦值兩個變數也是沒問題的。
sum = lambda x, y: x+y sum(1, 3)
Output:
4
那麼以上,雖然簡短,但這就是我們的 lambda 教學。
如果以後我運用得更熟稔、發覺更多應用之處,那麼還是會再次更新此文章。
就請大家不抱著期待地期待著吧!