python中的不定長位置參數(shù)
使用*arg_name定義的位置參數(shù),表示任意多個位置參數(shù);Python標準庫中習慣使用*args來命名不定長位置參數(shù),當然我們可以自定義
這個名稱;不定長位置參數(shù)的類型為元組;
Python允許在形參前面添加一個星號(*),這樣就意味著該參數(shù)可接收多個參數(shù)值,多個參數(shù)值被當成元組傳入。
下面程序定義了一個形參個數(shù)可變的函數(shù):
#定義了支持參數(shù)收集的函數(shù)
deftest(a,*books):
print(books)
#books被當成元組處理
forbinbooks:
print(b)
#輸出整數(shù)變量a的值
print(a)
#調(diào)用test()函數(shù)
test(5,"千鋒","Python教程")
運行上面程序,將看到如下運行結(jié)果:
('千鋒','Python教程')
千鋒
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ù)
deftest(*books,num):
print(books)
#books被當成元組處理
forbinbooks:
print(b)
print(num)
#調(diào)用test()函數(shù)
test("千鋒","Python教程",num=20
以上內(nèi)容為大家介紹了python培訓之不定長參數(shù)怎么進行傳遞,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。