小編給大家分享一下python可變參數(shù)傳值的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司服務(wù)項目包括蓮池網(wǎng)站建設(shè)、蓮池網(wǎng)站制作、蓮池網(wǎng)頁制作以及蓮池網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蓮池網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到蓮池省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Python 允許在形參前面添加一個星號(*),這樣就意味著該參數(shù)可接收多個參數(shù)值,多個參數(shù)值被當(dāng)成元組傳入。
下面程序定義了一個形參個數(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ù)時,books 參數(shù)可以傳入多個字符串作為參數(shù)值。從 test() 的函數(shù)體代碼來看,參數(shù)收集的本質(zhì)就是一個元組: Python 會將傳給 books 參數(shù)的多個值收集成一個元組。
python學(xué)習(xí)網(wǎng),免費(fèi)的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!
Python 允許個數(shù)可變的形參可以處于形參列表的任意位置(不要求是形參列表的最后一個參數(shù)),但 Python 要求一個函數(shù)最多只能帶一個支持“普通”參數(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ù)的第一個參數(shù)就是個數(shù)可變的形參,由于該參數(shù)可接收個數(shù)不等的參數(shù)值,因此如果需要給后面的參數(shù)傳入?yún)?shù)值,則必須使用關(guān)鍵字參數(shù),否則程序會把所傳入的多個值都當(dāng)成是傳給 books 參數(shù)的。
Python 還可以收集關(guān)鍵字參數(shù),此時 Python 會將這種關(guān)鍵字參數(shù)收集成字典。為了讓 Python 能收集關(guān)鍵字參數(shù),需要在參數(shù)前面添加兩個星號。在這種情況下,一個函數(shù)可同時包含一個支持“普通”參數(shù)收集的參數(shù)和一個支持關(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教程", 語文=89, 數(shù)學(xué)=94)
上面程序在調(diào)用 test() 函數(shù)時,前面的 1、2、3 將會傳給普通參數(shù) x、y、z;接下來的兩個字符串將會由 books 參數(shù)收集成元組;最后的兩個關(guān)鍵字參數(shù)將會被收集成字典。運(yùn)行上面代碼,會看到如下輸出結(jié)果:
1 2 3 ('php中文網(wǎng)', 'Python教程') {'語文': 89, '數(shù)學(xué)': 94}
對于以上面方式定義的 test() 函數(shù),參數(shù) z 的默認(rèn)值幾乎不能發(fā)揮作用。比如按如下方式調(diào)用 test() 函數(shù):
test(1, 2, "php中文網(wǎng)" , "Python教程", 語文=89, 數(shù)學(xué)=94)
如果希望讓 z 參數(shù)的默認(rèn)值發(fā)揮作用,則需要只傳入兩個位置參數(shù)。例如如下調(diào)用代碼:
test(1, 2, 語文=89, 數(shù)學(xué)=94)
看完了這篇文章,相信你對python可變參數(shù)傳值的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:python可變參數(shù)傳值的方法
分享路徑:http://chinadenli.net/article46/ppsdhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、軟件開發(fā)、自適應(yīng)網(wǎng)站、外貿(mào)建站、移動網(wǎng)站建設(shè)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)