python的 args和 kwargs用法

2021-07-01 19:51:11 字數 981 閱讀 7849

python的*args和**kwargs如何用,看了下面的例子你就清楚了。

先來看乙個例子:

複製**

**如下:

>>> def foo(*args, **kwargs):

print 'args =', args

print 'kwargs = ', kwargs

print '-----------------------'

>>> if __name__ == '__main__':

foo(1, 2, 3, 4)

foo(a=1, b=2, c=3)

foo(1,2,3,4, a=1, b=2, c=3)

foo('a', 1, none, a=1, b='2', c=3)

其輸出結果如下:

複製**

**如下:

args = (1, 2, 3, 4)

kwargs =  {}

-----------------------

args = ()

kwargs = 

-----------------------

args = (1, 2, 3, 4)

kwargs = 

-----------------------

args = ('a', 1, none)

kwargs = 

-----------------------

從以上例子可以看出,這兩個是python中的可變引數。*args表示任何多個無名引數,它是乙個tuple;**kwargs表示關鍵字引數,它是乙個 dict。

並且同時使用*args和**kwargs時,*args引數列必須要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, none, )這樣呼叫的話,會提示語法錯誤「syntaxerror: non-keyword arg after keyword arg」。

Python的args和kwargs理解

眾所周知,python的args是用來接收不定長的引數,而kwargs是用來接收不定長的關鍵字引數。下面通過例項來看看如何真正的理解這兩個的用法。def test2 a,b,args,kwargs print test2 print a print b print args print kwargs...

Python中的 args和 kwargs的用法

先來看個例子 def foo args,kwargs print args args print kwargs kwargs print if name main foo 1,2,3,4 foo a 1,b 2,c 3 foo 1,2,3,4,a 1,b 2,c 3 foo a 1,none,a 1...

Python中 args 和 kwargs的用法

好久沒有學習python了,應為工作的需要,再次拾起python,喚起記憶。當函式的引數不確定時,可以使用 args 和 kwargs,args 沒有key值,kwargs有key值。還是直接來 吧,廢話少說 python def fun var args farg,args print arg f...