python怎麼傳入不確定引數

airland發表於2021-09-11

python怎麼傳入不確定引數

Python 允許在形參前面新增一個星號(*),這樣就意味著該引數可接收多個引數值,多個引數值被當成元組傳入。

下面程式定義了一個形參個數可變的函式:

# 定義了支援引數收集的函式
def test(a, *books) :
    print(books)
    # books被當成元組處理
    for b in books :
        print(b)
    # 輸出整數變數a的值
    print(a)
# 呼叫test()函式
test(5 , "php中文網" , "Python教程")

執行上面程式,將看到如下執行結果:

('php中文網', 'Python教程')
php中文網
Python教程
5

從上面的執行結果可以看出,當呼叫 test() 函式時,books 引數可以傳入多個字串作為引數值。從 test() 的函式體程式碼來看,引數收集的本質就是一個元組: Python 會將傳給 books 引數的多個值收整合一個元組。

Python 允許個數可變的形參可以處於形參列表的任意位置(不要求是形參列表的最後一個引數),但 Python 要求一個函式最多隻能帶一個支援“普通”引數收集的形參。例如如下程式:

# 定義了支援引數收集的函式
def test(*books ,num) :
    print(books)
    # books被當成元組處理
    for b in books :
        print(b)
    print(num)
# 呼叫test()函式
test("php中文網", "Python教程", num = 20)

更多學習內容,請點選。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/964/viewspace-2836077/,如需轉載,請註明出處,否則將追究法律責任。

相關文章