av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:Python可變參數(shù)函數(shù)用法詳解

很多編程語言都允許定義個數(shù)可變的參數(shù),這樣可以在調(diào)用函數(shù)時傳入任意多個參數(shù)。Python 當然也不例外,Python 允許在形參前面添加一個星號(*),這樣就意味著該參數(shù)可接收多個參數(shù)值,多個參數(shù)值被當成元組傳入。

下面程序定義了一個形參個數(shù)可變的函數(shù):

# 定義了支持參數(shù)收集的函數(shù)
def test(a, *books) :
    print(books)
    # books被當成元組處理
    for b in books :
        print(b)
    # 輸出整數(shù)變量a的值
    print(a)
# 調(diào)用test()函數(shù)
test(5 , "php中文網(wǎng)" , "Python教程")

運行上面程序,將看到如下運行結(jié)果:

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

從上面的運行結(jié)果可以看出,當調(diào)用 test() 函數(shù)時,books 參數(shù)可以傳入多個字符串作為參數(shù)值。從 test() 的函數(shù)體代碼來看,參數(shù)收集的本質(zhì)就是一個元組: Python 會將傳給 books 參數(shù)的多個值收集成一個元組。

Python 允許個數(shù)可變的形參可以處于形參列表的任意位置(不要求是形參列表的最后一個參數(shù)),但 Python 要求一個函數(shù)最多只能帶一個支持“普通”參數(shù)收集的形參。例如如下程序:

# 定義了支持參數(shù)收集的函數(shù)
def test(*books ,num) :
    print(books)
    # books被當成元組處理
    for b in books :
        print(b)
    print(num)
# 調(diào)用test()函數(shù)
test("php中文網(wǎng)", "Python教程", num = 20)

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

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

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

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

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

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

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

如果希望讓 z 參數(shù)的默認值發(fā)揮作用,則需要只傳入兩個位置參數(shù)。例如如下調(diào)用代碼:

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


分享名稱:創(chuàng)新互聯(lián)Python教程:Python可變參數(shù)函數(shù)用法詳解
分享路徑:http://uogjgqi.cn/article/dpdjogo.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流