黑猴子的家 python 函式式程式設計

2021-09-11 16:28:11 字數 1069 閱讀 2735

函式是python內建支援的一種封裝,我們通過把大段**拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。

函式式程式設計中的函式這個術語不是指計算機中的函式(實際上是subroutine),而是指數學中的函式,即自變數的對映。也就是說乙個函式的值僅決定於函式引數的值,不依賴其他狀態。比如sqrt(x)函式計算x的平方根,只要x不變,不論什麼時候呼叫,呼叫幾次,值都是不變的。

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

定義

簡單說,"函式式程式設計"是一種"程式設計正規化"(programming paradigm),也就是如何編寫程式的方**。

主要思想是把運算過程盡量寫成一系列巢狀的函式呼叫。舉例來說

數學表示式

(1 + 2) * 3 - 4
傳統的過程式程式設計,可能這樣寫

var a = 1 + 2;

var b = a * 3;

var c = b - 4;

函式式程式設計要求使用函式,我們可以把運算過程定義為不同的函式

var result = subtract(multiply(add(1,2), 3), 4);
這段**再演進以下,可以變成這樣

add(1,2).multiply(3).subtract(4)
這基本就是自然語言的表達了。再看下面的**,大家應該一眼就能明白它的意思吧

merge([1,2],[3,4]).sort().search("2")
因此,函式式程式設計的**更容易理解。

要想學好函式式程式設計,不要玩py,玩erlang,haskell, 好了,就這麼多了。。。

黑猴子的家 Python 簡介

總的來說,程式語言各有千秋。c語言是可以用來編寫作業系統的貼近硬體的語言,所以,c語言適合開發那些追求執行速度 充分發揮硬體效能的程式。而python是用來編寫應用程式的高階程式語言。當你用一種語言開始作真正的軟體開發時,你除了編寫 外,還需要很多基本的已經寫好的現成的東西,來幫助你加快開發進度。比...

黑猴子的家 mysql 日期函式

1 獲取當前日期 select now 2 獲取日期,沒有時間 select curdate 3 獲取時間,沒有日期 select curtime 4 獲取日期的指定部分 select year now select month now select monthname now select day...

黑猴子的家 Scala 函式變種

1 變種1,乙個引數 第一種 乙個引數 def pla1 a1 string unit 2 變種2,兩個引數 第二種 兩個引數 def pla2 a1 string,a2 string unit pla2 a2 hei a1 haha 3 變種3,引數預設值 第三種 引數預設值 def pla3 a...