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