將列表傳遞給 Python 中的函式

Shikha Chaudhary 2023年1月30日
  1. 將列表傳遞給 Python 中的函式
  2. 像其他資料型別一樣向 Python 函式傳遞一個列表
  3. Python 中傳遞和解包列表的區別
  4. まとめ
將列表傳遞給 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 中的函式,就像傳遞任何其他資料型別一樣。

我們進一步理解了將列表作為多個引數傳遞和解包之間的區別。

相關文章 - Python Function