寫函式時,預先可能不確定會傳入多少個引數,以及傳入的方式,這時候可以通過不定參的形式傳遞
def
test
(*args,
**kwargs)
:print
("args:"
,args)
print
("kwargs:"
,kwargs)
if __name__ ==
"__main__"
: test(1,
2,3,
4,a=
5,b=
6,c=
7)
args: (1, 2, 3, 4)
kwargs:
args和kwargs只是習慣命名,關鍵在於 * 和 **,例如:
def
test
(*vars1,
**vars2)
:print
("vars1:"
,vars1)
print
("vars2:"
,vars2)
if __name__ ==
"__main__"
: test(1,
2,3,
4,a=
5,b=
6,c=
7)
vars1: (1, 2, 3, 4)
vars2:
def
test
(**kwargs,
*args)
:print
("args"
,args)
print
("args"
,kwargs)
if __name__ ==
"__main__"
: test(1,
2,3,
4,a=
5,b=
6,c=
7)
def test(**kwargs,*args):
^syntaxerror: invalid syntax
python3 函式 不定長引數 不定參
第一種不定長引數 args args 稱為不定長引數,只能放在形參的最後位置,返回的是乙個元組 def num a,b,args print a print b print args num 11,22 返回結果 1122 33,55會放在元組args中 num 11,22,33,55 返回結果 1...
C 傳遞不定參函式
定義不定引數函式,要用到下面這些巨集 c語言裡編寫不定引數函式的形式是這樣的 include int sum int cnt,定義不定引數函式,要用到下面這些巨集 typedef char va list define intsizeof n sizeof n sizeof int 1 sizeof...
Python不定參(收集引數 )
收集引數 不定參 的逆過程 不定參 可接受數量不固定的引數,擁有擴充套件的能力。對於那些傳入引數的數量不確定的程式有很重要的作用,但同時由於不定參可同時接受很多引數,這也帶來了隱患 引數不合法。要解決這個問題就需要使用斷言 assert 或者 try except 來增加對引數合法性的檢驗及引數不合...