Python学习笔记__4章 函数式编程
# 這是學(xué)習廖雪峰老師python教程的學(xué)習筆記
函數(shù)是Python內(nèi)建支持的一種封裝,我們通過把大段代碼拆成函數(shù),通過一層一層的函數(shù)調(diào)用,就可以把復(fù)雜任務(wù)分解成簡單的任務(wù),這種分解可以稱之為面向過程的程序設(shè)計。函數(shù)就是面向過程的程序設(shè)計的基本單元。
?
而函數(shù)式編程(請注意多了一個“式”字)——Functional Programming,雖然也可以歸結(jié)到面向過程的程序設(shè)計,但其思想更接近數(shù)學(xué)計算。
?
理解計算機(Computer)和計算(Compute)的概念
在計算機的層次上,CPU執(zhí)行的是加減乘除的指令代碼,以及各種條件判斷和跳轉(zhuǎn)指令,所以,匯編語言是最貼近計算機的語言。
而計算則指數(shù)學(xué)意義上的計算,越是抽象的計算,離計算機硬件越遠
?
對應(yīng)到編程語言:
就是越低級的語言,越貼近計算機,抽象程度低,執(zhí)行效率高,比如C語言;
越高級的語言,越貼近計算,抽象程度高,執(zhí)行效率低,比如Lisp語言。
?
函數(shù)式編程就是一種抽象程度很高的編程范式,純粹的函數(shù)式編程語言編寫的函數(shù)沒有變量,因此,任意一個函數(shù),只要輸入是確定的,輸出就是確定的,這種純函數(shù)我們稱之為沒有副作用。而允許使用變量的程序設(shè)計語言,由于函數(shù)內(nèi)部的變量狀態(tài)不確定,同樣的輸入,可能得到不同的輸出,因此,這種函數(shù)是有副作用的。
?
函數(shù)式編程的一個特點就是,允許把函數(shù)本身作為參數(shù)傳入另一個函數(shù),還允許返回一個函數(shù)!
?
Python對函數(shù)式編程提供部分支持。由于Python允許使用變量,因此,Python不是純函數(shù)式編程語言。
轉(zhuǎn)載于:https://blog.51cto.com/12758568/2115992
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记__4章 函数式编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: crontab、chkconfig、sy
- 下一篇: 详细分析 apache httpd 反向