天天看點

Python中的函數式程式設計

一. 四種程式設計方式

procedural

指令式程式設計,面向過程程式設計,常常拿來和面向對象作比較。最有名的當然是C。

declarative

聲明式程式設計,典型的像SQL。

Object-oriented

面向對象程式設計,C++,Java,Python等。Java什麼都要寫在類裡面,C++和Python就要靈活些,支援但不強制使用面向對象。事實上,簡單的問題引入面向對象隻能是畫蛇添足後患無窮。

Functional

函數式程式設計,沒有找到嚴格又好了解的定義。通過它的幾個特點來看看吧:

  • 函數是first class object,意味着函數可以像普通變量那樣作為傳回值參數等。
  • 隻用表達式,不用語句。語句用來執行操作,表達式一定有确定的傳回值。
  • 沒有副作用,不改變變量值,不能儲存狀态。

繼續閱讀