Python 函數式編程 (1) — lambda

不知道大家對於函式熟不熟阿?今天要來介紹在Python裡面提供的輕量化函式,在Python中,若是不是太複雜的功能、或是這一小段用完後面保證不會用到的話就可以選使用lamda(),這樣聽起來很抽象對吧?沒關係,我們來看一下兩邊的比較就知道了。

  • 函式

    上面的就是函式,其實說到底就像是國高中數學上的函數的概念,先定義 f(x) 跟 x 的關係。以上面的例子來說,當你在程式中寫到 f(2),電腦就會去找名稱 ” f “這個函式,然後把 ” 2 ” 丟到變數裡面,然後返回 2 * 2 這個值回來。g(x, y) 也是一樣,只是有兩個變數。
    整個過程簡單來說就是這樣:你把數字丟到想要丟的函式裡面,然後他會處理好再丟回來。
    另外要注意一下喔, 函式的名稱不一定要定義成 f 喔~ 你開心叫什麼都可以,當然也一樣~下面定義一個算圓面積的函式,我們把這個函式叫做 circular_area,而變數當然是跟面積有關係的 r :

    這邊我們把 9 丟到 circular_area 運算,得到我面積等於 254.34 。另外在def circular_area(r):return(r*r*pi)之間可以做任何的運算。

  • lambda

    我們來看看lambda的寫法吧~同樣想要執行函式,我們的程式碼變成一行就可以解決了~
    Python中支援函式另一種更簡潔的寫法,然而是否都該使用函數式編程來取代函式呢?一般我們使用函式時,會把他放在整個寫的程式碼的最上面,可以套用在整份文件上,所以對我來說,如果某個函式只有在程式碼的某個段落中使用,而且只需要短短的計算,就可以考慮使用lambda,因為可以讓程式閱讀起來更簡潔;反之若是你需要複雜的函式功能或是整在個code中都需要用到的話,那就還是乖乖使用函式,對於整個程式碼的架構才能保持更清楚。

Facebook Comments

發表迴響