亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python可變參數函數的使用方法

發布時間:2020-08-05 17:20:35 來源:億速云 閱讀:119 作者:小新 欄目:編程語言

小編給大家分享一下Python可變參數函數的使用方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

很多編程語言都允許定義個數可變的參數,這樣可以在調用函數時傳入任意多個參數。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)

正如從上面程序中所看到的,test() 函數的第一個參數就是個數可變的形參,由于該參數可接收個數不等的參數值,因此如果需要給后面的參數傳入參數值,則必須使用關鍵字參數,否則程序會把所傳入的多個值都當成是傳給 books 參數的。

Python 還可以收集關鍵字參數,此時 Python 會將這種關鍵字參數收集成字典。為了讓 Python 能收集關鍵字參數,需要在參數前面添加兩個星號。在這種情況下,一個函數可同時包含一個支持“普通”參數收集的參數和一個支持關鍵字參數收集的參數。例如如下代碼:

# 定義了支持參數收集的函數
def test(x, y, z=3, *books, **scores) :
    print(x, y, z)
    print(books)
    print(scores)
test(1, 2, 3, "php中文網" , "Python教程", 語文=89, 數學=94)

上面程序在調用 test() 函數時,前面的 1、2、3 將會傳給普通參數 x、y、z;接下來的兩個字符串將會由 books 參數收集成元組;最后的兩個關鍵字參數將會被收集成字典。運行上面代碼,會看到如下輸出結果:

1 2 3
('php中文網', 'Python教程')
{'語文': 89, '數學': 94}

對于以上面方式定義的 test() 函數,參數 z 的默認值幾乎不能發揮作用。比如按如下方式調用 test() 函數:

test(1, 2, "php中文網" , "Python教程", 語文=89, 數學=94)

如果希望讓 z 參數的默認值發揮作用,則需要只傳入兩個位置參數。例如如下調用代碼:

test(1, 2, 語文=89, 數學=94)

看完了這篇文章,相信你對Python可變參數函數的使用方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴海县| 香格里拉县| 娱乐| 闵行区| 肥西县| 墨竹工卡县| 德化县| 遂宁市| 恭城| 尤溪县| 运城市| 淅川县| 铜陵市| 托克托县| 武邑县| 库车县| 梓潼县| 济阳县| 永安市| 连平县| 甘谷县| 法库县| 绥中县| 安吉县| 招远市| 邹城市| 东乡| 宁城县| 福清市| 冀州市| 沛县| 荥阳市| 扎赉特旗| 神池县| 镇雄县| 阳城县| 同心县| 桑日县| 海盐县| 乌鲁木齐市| 石家庄市|