Python程式碼閱讀(第27篇):將變數名轉換成駝峰形式
阿新 • • 發佈:2021-11-01
函式是一種僅在呼叫時執行的程式碼塊。您可以將資料(稱為引數)傳遞到函式中。函式可以把資料作為結果返回。
建立函式
在 Python 中,使用 def 關鍵字定義函式:
def my_function():
print("Hello from a function")
呼叫函式
如需呼叫函式,請使用函式名稱後跟括號:
def my_function():
print("Hello from a function")
my_function()
- 引數
資訊可以作為引數傳遞給函式。
引數在函式名後的括號內指定。您可以根據需要新增任意數量的引數,只需用逗號分隔即可。
def my_function(fname): print(fname + " Gates") my_function("Rory John") my_function("Jennifer Katharine") my_function("Phoebe Adele")
- 如果我們呼叫了不帶引數的函式,則使用預設值:
-
- 您傳送到函式的引數可以是任何資料型別(字串、數字、列表、字典等),並且在函式內其將被視為相同資料型別。
例如,如果您將 List 作為引數傳送,它到達函式時仍將是 List(列表):
- 您傳送到函式的引數可以是任何資料型別(字串、數字、列表、字典等),並且在函式內其將被視為相同資料型別。
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
- 如需使函式返回值,請使用 return 語句:
- 關鍵字引數
您還可以使用 key = value 語法傳送引數。引數的順序無關緊要。在 Python 文件中,“關鍵字引數”一詞通常簡稱為 kwargs。 - 任意引數
如果您不知道將傳遞給您的函式多少個引數,請在函式定義的引數名稱前新增 *。
這樣,函式將接收一個引數元組,並可以相應地訪問各項:
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")
- pass 語句
函式定義不能為空,但是如果您出於某種原因寫了無內容的函式定義,請使用 pass 語句來避免錯誤。 - 遞迴
Python 也接受函式遞迴,這意味著定義的函式能夠呼叫自身。
遞迴是一種常見的數學和程式設計概念。它意味著函式呼叫自身。這樣做的好處是可以迴圈訪問資料以達成結果。
開發人員應該非常小心遞迴,因為它可以很容易地編寫一個永不終止的,或者使用過量記憶體或處理器能力的函式。但是,在被正確編寫後,遞迴可能是一種非常有效且數學上優雅的程式設計方法。
在這個例子中,tri_recursion() 是我們定義為呼叫自身 ("recurse") 的函式。我們使用 k 變數作為資料,每次遞迴時遞減(-1)。當條件不大於 0 時(比如當它為 0 時),遞迴結束。
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)
#結果
Recursion Example Results
1
3
6
10
15
21