函數(shù)式編程(簡稱FP)是一種編程范式,其中最基本的元素是不可修改的值,以及不與其他函數(shù)共享狀態(tài)的“純函數(shù)”。純函數(shù)對于給定的輸入永遠返回同樣的輸出,而且不會修改任何數(shù)據(jù),也不會造成副作用。因此,純函數(shù)經(jīng)常與數(shù)學運算比較。例如,3+4永遠等于7,不管同時進行了其他任何數(shù)學運算,也不管之前進行了多少次加法運算。
有了純函數(shù)和不可修改的值,程序員就可以創(chuàng)建邏輯結(jié)構(gòu)了。迭代可以用遞歸代替,因為遞歸才是讓同一個動作多次執(zhí)行的“函數(shù)式”做法。函數(shù)使用新的輸入調(diào)用自己,直到參數(shù)滿足某個終止條件。此外,還有高階函數(shù),它的輸入是其他函數(shù),返回另一個函數(shù)。我稍后會介紹這個概念。
盡管函數(shù)式編程從上世紀五十年代就出現(xiàn)了,而且許多語言也都實現(xiàn)了它,但它并沒有完全地描述一門語言。Clojure、CommonLisp、Haskell和OCaml都是以函數(shù)式為主的語言,也都融合了其他不同的編程語言概念,如類型系統(tǒng)、嚴格或懶惰求值等。大多數(shù)語言還用某種方法支持副作用,如寫入文件、讀取文件等,通常這些副作用都被仔細地標記為“不純凈”。
人們通常都認為函數(shù)式很深奧,而且與可實踐性相比,它更看重優(yōu)雅和簡潔。大公司很少會在大規(guī)模項目上依賴于函數(shù)式為主的語言,即使要用也是在較小的范圍內(nèi),遠遠不如其他C++、Java、Python等語言流行。但是,F(xiàn)P實際上只是一種框架,一種考慮邏輯流的方式,它本身也有優(yōu)點和缺點,而且也能與其他編程范式配合使用。
以上內(nèi)容為大家介紹了python之什么是函數(shù)式編程?希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://m.2667701.com/