Python中的函數語言程式設計
函數語言程式設計語言專門設計用於處理符號計算和列表處理應用程式。函數語言程式設計基於數學函式。一些流行的函數語言程式設計語言包括:Lisp、Python、Erlang、Haskell、Clojure等。
函數語言程式設計的特點
函數語言程式設計最突出的特點如下:
函數語言程式設計語言基於使用條件表示式和遞迴進行計算的數學函式的概念。
函數語言程式設計支援高階函式和惰性求值特性。
與面向物件程式設計一樣,函數語言程式設計語言支援抽象、封裝、繼承和多型等流行概念。
函數語言程式設計的優點
以下是優點:
模組化 − 它迫使你將問題分解成小的部分。結果,程式更模組化。指定和編寫一個只做一件事情的小函式比編寫一個執行復雜轉換的大函式更容易。小函式也更容易閱讀和檢查錯誤。
簡化除錯
函式通常很小且定義明確,因此簡化了除錯。當程式無法工作時,每個函式都是一個介面點,你可以在該點檢查資料是否正確。
易於測試
測試更容易,因為每個函式都是單元測試的可能主題。函式不依賴於需要在執行測試之前複製的系統狀態,而你只需要合成正確的輸入,然後檢查輸出是否與預期匹配。
可組合性
在使用函數語言程式設計風格的程式時,你將編寫許多具有不同輸入和輸出的函式。其中一些函式將不可避免地專門用於特定應用程式,但其他函式將在各種程式中很有用。
函式是一等公民
為了支援函數語言程式設計風格,函式應該具有以下特性,Python同時具備:將另一個函式作為引數,並向其呼叫者返回另一個函式。
在 Python 中,函式被視為一等公民,即我們可以將函式儲存在變數中,從函式返回函式等。
下面是一些顯示 Python 中函式的示例,有助於理解裝飾器。
函式作為物件
在這個例子中,函式被視為物件。這裡,函式 demo() 被賦值給一個變數:
示例
# Creating a function def demo(mystr): return mystr.swapcase() # swapping the case print(demo('Thisisit!')) sample = demo print(sample('Hello'))
輸出
tHISISIT! hELLO
將函式作為引數傳遞
在這個例子中,函式作為引數傳遞。demo3() 函式呼叫 demo() 和 demo2() 函式作為引數。
示例
def demo(text): return text.swapcase() def demo2(text): return text.capitalize() def demo3(func): res = func("This is it!") # Function passed as an argument print (res) # Calling demo3(demo) demo3(demo2)
輸出
tHIS IS IT! This is it!
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP