1. 程式人生 > >python中*args,**kwargs

python中*args,**kwargs

 *args :當我們不知道要有多少個引數傳給函式,或者我們想把一個列表或者tuple存起來以後傳給函式。

**kwargs:當我們不知道有多少個關鍵字引數要傳給函式,或者我們想把字典存起來以後傳給函式

In [156]: def f(*args,**kwargs):
     ...:     print(args,kwargs)
     ...:

In [157]: a=[1,2,3]

In [158]: b=(4,5,6)

In [159]: c={'a':1,'b':3,'c':5}

In [160]: f()
() {}

In [161]: f(1,2,3)
(
1, 2, 3) {} In [162]: f(1,2,3,'a') (1, 2, 3, 'a') {} In [163]: f(a=1,b=2,c=3) () {'a': 1, 'b': 2, 'c': 3} In [165]: f(*a,**c) (1, 2, 3) {'a': 1, 'b': 3, 'c': 5} In [166]: f(*b,**c) (4, 5, 6) {'a': 1, 'b': 3, 'c': 5} In [167]: f(1,2,*a) (1, 2, 1, 2, 3) {}