首頁 >後端開發 >Python教學 >python函數式程式設計是什麼?

python函數式程式設計是什麼?

乌拉乌拉~
乌拉乌拉~原創
2018-08-22 16:17:481838瀏覽

在以下的文章之中我們來了解一下什麼是python中的函數式程式設計。了解python中函數式程式設計是什麼意思,以及python程式設計函數能應用在什麼地方。

函數式程式設計

函數是Python內建支援的一種封裝,我們透過把大段程式碼拆成函數,透過一層一層的函數調用,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為過程導向的程式設計。函數就是過程導向的程式設計的基本單元。

函數式程式設計(請注意多了一個「式」字)-Functional Programming,雖然也可以歸結到過程導向的程式設計,但其想法更接近數學計算。

我們首先要搞清楚電腦(Computer)和計算(Compute)的概念。

在電腦的層次上,CPU執行的是加減乘除的指令碼,以及各種條件判斷和跳躍指令,所以,組合語言是最貼近電腦的語言。

而計算則指數學意義上的計算,越是抽象的計算,離電腦硬體越遠。

對應到程式語言,就是越低階的語言,越貼近計算機,抽象程度低,執行效率高,例如C語言;越高階的語言,越貼近計算,抽象程度高,執行效率低,例如Lisp語言。

函數式程式設計的特點:

1.  把計算視為函數而非指令

2. 純函數式程式設計:不需要變量,沒有副作用,測試簡單

3. 支援高階函數,程式碼簡潔


Python 支援的函數式程式設計:

不是純函數式程式設計:允許有變數

支援高階函數:函數也可以作為變數傳入

支援閉包:有了閉包就能回傳函數

有限度地支援匿名函數

函數式程式設計就是一種抽象程度很高的程式設計範式,純粹的函數式程式語言所寫的函數沒有變量,因此,任一個函數,只要輸入是確定的,輸出就是確定的,這種純函數我們稱之為沒有副作用。而允許使用變數的程式設計語言,由於函數內部的變數狀態不確定,同樣的輸入,可能得到不同的輸出,因此,這種函數是有副作用的。

函數式程式設計的一個特點是,允許把函數本身當作參數傳入另一個函數,也允許傳回一個函數!

Python對函數式程式設計提供部分支援。由於Python允許使用變量,因此,Python不是純函數式程式語言

 

#

以上是python函數式程式設計是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn