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) {}

猜你喜欢

转载自www.cnblogs.com/ConnorShip/p/10009469.html