python是函式式語言嗎
函式是Python內建支援的一種封裝,我們透過把大段程式碼拆成函式,透過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,
這種分解可以稱之為程式導向的程式設計。函式就是程式導向的程式設計的基本單元。
而函數語言程式設計(請注意多了一個“式”字)——Functional Programming,雖然也可以歸結到程式導向的程式設計,但其思想更接近數
學計算。
我們首先要搞明白計算機(Computer)和計算(Compute)的概念。
在計算機的層次上,CPU執行的是加減乘除的指令程式碼,以及各種條件判斷和跳轉指令,所以,組合語言是最貼近計算機的語言。
而計算則指數學意義上的計算,越是抽象的計算,離計算機硬體越遠。
函數語言程式設計的一個特點就是,允許把函式本身作為引數傳入另一個函式,還允許返回一個函式!
Python對函數語言程式設計提供部分支援。由於Python允許使用變數,因此,Python不是純函數語言程式設計語言。
對應到程式語言,就是越低階的語言,越貼近計算機,抽象程度低,執行效率高,比如C語言;越高階的語言,越貼近計算,抽象程度
高,執行效率低,比如Lisp語言。
函數語言程式設計就是一種抽象程度很高的程式設計正規化,純粹的函數語言程式設計語言編寫的函式沒有變數,因此,任意一個函式,只要輸入是確定的,
輸出就是確定的,這種純函式我們稱之為沒有副作用。而允許使用變數的程式設計語言,由於函式內部的變數狀態不確定,同樣的輸入,
可能得到不同的輸出,因此,這種函式是有副作用的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1817/viewspace-2835807/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- python高階函式和C語言函式指標Python函式C語言指標
- Go 語言函式Go函式
- 函式式JavaScript(2):如何打造“函式式”程式語言?函式JavaScript
- python是函數語言程式設計嗎Python函數程式設計
- C語言 itoa函式及atoi函式C語言函式
- Python函數語言程式設計-高階函式、匿名函式、裝飾器、偏函式Python函數程式設計函式
- C語言 execve()函式C語言函式
- R語言函式-tolowerR語言函式
- C語言常用函式C語言函式
- GO語言————6.1 函式Go函式
- q語言的函式函式
- C語言的函式C語言函式
- Go 語言 -make函式Go函式
- python有主函式嗎Python函式
- 使用函式式語言實踐DDD函式
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- c語言是如何處理函式呼叫的?C語言函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- Python函數語言程式設計指南(2):函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- C語言函式呼叫棧C語言函式
- SQL語言基礎(函式)SQL函式
- go語言學習-函式Go函式
- 詳解C語言函式C語言函式
- tmpnam() - C語言庫函式C語言函式
- tmpfile() - C語言庫函式C語言函式
- R語言的scale函式R語言函式
- C語言時間函式C語言函式
- c語言函式庫(轉)C語言函式
- C語言 函式指標C語言函式指標
- 08. C語言函式C語言函式
- C語言基礎函式C語言函式
- python語言幾個常見函式的使用Python函式
- C語言函式指標與回撥用函式C語言函式指標
- C語言printf()函式:格式化輸出函式C語言函式
- 函式式思維和函數語言程式設計函式函數程式設計
- python是高階語言嗎Python