將列表傳遞給 Python 中的函式
在 Python 中,向函式傳送列表就像傳遞任何其他形式的資料一樣。讓我們進一步探討這個主題。
將列表傳遞給 Python 中的函式
我們將使用單個引數 flavor
定義一個函式 testing
。然後,我們在呼叫函式時傳遞一個名為 Cherry
的引數。
這個引數轉到引數變數 flavor
,然後函式可以使用它。請參見下面的示例。
程式碼:
def testing(flavor):
print("You chose:", flavor)
testing("Cherry")
輸出:
You chose: Cherry
像其他資料型別一樣向 Python 函式傳遞一個列表
Python 列表就像任何其他 Python 物件一樣,我們可以將其作為簡單變數傳遞給函式。在下面的程式碼示例中,我們有一個帶有 hobbies
引數的函式 enjoy
。
在功能塊之外,我們定義了一個列表 hobbies_list
。在呼叫函式 enjoy
時,我們將這個變數 hobbies_list
作為引數傳遞。
該列表轉到引數變數 hobbies
,因此,該函式可以使用該列表的值。
程式碼:
def enjoy(hobbies): # or def enjoy(hobbies=[]):
for hobby in hobbies:
print(hobby)
hobbies_list = ["art", "dance", "sing"]
enjoy(hobbies_list)
輸出:
art
dance
sing
看看 enjoy
函式如何獲取列表的值,以及其中的 for
迴圈列印所有列表項。有時,在將列表傳遞給函式時,你還會看到方括號 []
分配給引數變數。
Python 中傳遞和解包列表的區別
在 Python 中,我們可以使用 *args
將可變數量的引數傳遞給函式。現在,由於列表有多個值,人們傾向於使用 *args
作為列表引數的引數變數,以便處理列表的所有值。
當我們將 *args
定義為引數變數時,我們向函式發出訊號以等待可變數量的引數。將列表的元素作為多個引數傳遞類似於解包列表。
程式碼:
def subjects(*args):
for subject in args:
print("The subject name is ", subject)
names = ["mathematics", "science", "history"]
subjects(names)
輸出:
The subject name is ['mathematics', 'science', 'history']
如果將此輸出與以下程式碼進行比較,你會更好地看到差異。
程式碼:
def subjects(args):
for subject in args:
print("The subject name is ", subject)
names = ["mathematics", "science", "history"]
subjects(names)
輸出:
The subject name is mathematics
The subject name is science
The subject name is history
請注意輸出如何根據 *args
變化。如果使用 *args
將列表傳遞給 Python 函式,我們可能不會得到預期的結果。
因此,根據需求選擇合適的語法很重要。
まとめ
在本文中,我們學習瞭如何將列表傳遞給 Python 中的函式。我們看到了如何將列表傳遞給 Python 中的函式,就像傳遞任何其他資料型別一樣。
我們進一步理解了將列表作為多個引數傳遞和解包之間的區別。