欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用實(shí)例說(shuō)明python的*args和**kwargs用法

 更新時(shí)間:2013年11月01日 09:30:26   作者:  
python的*args和**kwargs如何用,看了下面的例子你就清楚了。

先來(lái)看一個(gè)例子:

復(fù)制代碼 代碼如下:

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


其輸出結(jié)果如下:
復(fù)制代碼 代碼如下:

args = (1, 2, 3, 4)
kwargs =  {}
-----------------------
args = ()
kwargs =  {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = (1, 2, 3, 4)
kwargs =  {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = ('a', 1, None)
kwargs =  {'a': 1, 'c': 3, 'b': '2'}
-----------------------

從以上例子可以看出,這兩個(gè)是python中的可變參數(shù)。*args表示任何多個(gè)無(wú)名參數(shù),它是一個(gè)tuple;**kwargs表示關(guān)鍵字參數(shù),它是一個(gè) dict。并且同時(shí)使用*args和**kwargs時(shí),*args參數(shù)列必須要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )這樣調(diào)用的話,會(huì)提示語(yǔ)法錯(cuò)誤“SyntaxError: non-keyword arg after keyword arg”。如同所示:

相關(guān)文章

最新評(píng)論