python是函數語言程式設計嗎
函式是Python內建支援的一種封裝,我們透過把大段程式碼拆成函式,透過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為程式導向的程式設計。函式就是程式導向的程式設計的基本單元。
而函數語言程式設計(請注意多了一個“式”字)——Functional Programming,雖然也可以歸結到程式導向的程式設計,但其思想更接近數學計算。
我們首先要搞明白計算機(Computer)和計算(Compute)的概念。
在計算機的層次上,CPU執行的是加減乘除的指令程式碼,以及各種條件判斷和跳轉指令,所以,組合語言是最貼近計算機的語言。
而計算則指數學意義上的計算,越是抽象的計算,離計算機硬體越遠。
對應到程式語言,就是越低階的語言,越貼近計算機,抽象程度低,執行效率高,比如C語言;越高階的語言,越貼近計算,抽象程度高,執行效率低,比如Lisp語言。
函數語言程式設計就是一種抽象程度很高的程式設計正規化,純粹的函數語言程式設計語言編寫的函式沒有變數,因此,任意一個函式,只要輸入是確定的,輸出就是確定的,這種純函式我們稱之為沒有副作用。而允許使用變數的程式設計語言,由於函式內部的變數狀態不確定,同樣的輸入,可能得到不同的輸出,因此,這種函式是有副作用的。
函數語言程式設計的一個特點就是,允許把函式本身作為引數傳入另一個函式,還允許返回一個函式!
Python對函數語言程式設計提供部分支援。由於Python允許使用變數,因此,Python不是純函數語言程式設計語言。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2524/viewspace-2836524/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python函數語言程式設計Python函數程式設計
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計
- python函數語言程式設計一Python函數程式設計
- python函數語言程式設計二Python函數程式設計
- Python函數語言程式設計術語大全Python函數程式設計
- 你真的理解函數語言程式設計嗎?函數程式設計
- python函數語言程式設計詳解Python函數程式設計
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- 函數語言程式設計函數程式設計
- Python學習之函數語言程式設計Python函數程式設計
- 函數語言程式設計,真香函數程式設計
- javascript函數語言程式設計JavaScript函數程式設計
- JavaScript 函數語言程式設計JavaScript函數程式設計
- Java 函數語言程式設計Java函數程式設計
- Python函數語言程式設計系列008:可測Python函數程式設計
- Python函數語言程式設計系列007:惰性求值Python函數程式設計
- python是函式式語言嗎Python函式
- 【面試官問】你懂函數語言程式設計嗎?面試函數程式設計
- [譯] Bob,函數語言程式設計是什麼鬼?函數程式設計
- RAC的函數語言程式設計函數程式設計
- JavaScript 函數語言程式設計(一)JavaScript函數程式設計
- JavaScript 函數語言程式設計(三)JavaScript函數程式設計
- 函數語言程式設計前菜函數程式設計
- 函數語言程式設計雜談函數程式設計
- 初見函數語言程式設計函數程式設計
- JavaScript 函數語言程式設計(二)JavaScript函數程式設計
- python函數語言程式設計之yield表示式形式Python函數程式設計
- 5分鐘學會 Python 函數語言程式設計Python函數程式設計
- Python函數語言程式設計系列001:無副作用Python函數程式設計
- 好程式設計師Python培訓分享函數語言程式設計之匿名函式程式設計師Python函數函式
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- .NET併發程式設計-函數語言程式設計程式設計函數
- 瞭解 JavaScript 函數語言程式設計 -- 什麼是純函式JavaScript函數程式設計函式
- 使用 Python 的 toolz 庫開始函數語言程式設計Python函數程式設計
- 【廖雪峰python進階筆記】函數語言程式設計Python筆記函數程式設計
- 一起來學習 Python 函數語言程式設計Python函數程式設計
- Python中的Map、Reduce和Filter函數語言程式設計PythonFilter函數程式設計