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