真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python可變參數(shù)傳值的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)提供BGP機(jī)房服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買(mǎi)BGP機(jī)房服務(wù)器托管服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。

小編給大家分享一下python可變參數(shù)傳值的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python可變參數(shù)傳值的方法

Python 允許在形參前面添加一個(gè)星號(hào)(*),這樣就意味著該參數(shù)可接收多個(gè)參數(shù)值,多個(gè)參數(shù)值被當(dāng)成元組傳入。

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

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

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

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

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

python學(xué)習(xí)網(wǎng),免費(fèi)的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!

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

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

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

Python 還可以收集關(guān)鍵字參數(shù),此時(shí) Python 會(huì)將這種關(guān)鍵字參數(shù)收集成字典。為了讓 Python 能收集關(guān)鍵字參數(shù),需要在參數(shù)前面添加兩個(gè)星號(hào)。在這種情況下,一個(gè)函數(shù)可同時(shí)包含一個(gè)支持“普通”參數(shù)收集的參數(shù)和一個(gè)支持關(guān)鍵字參數(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教程", 語(yǔ)文=89, 數(shù)學(xué)=94)

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

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

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

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

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

test(1, 2, 語(yǔ)文=89, 數(shù)學(xué)=94)

看完了這篇文章,相信你對(duì)python可變參數(shù)傳值的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!


文章題目:python可變參數(shù)傳值的方法-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/gejjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部