如果我們不確定往一個函數(shù)中傳入多少參數(shù)涌韩,或者我們希望以元組(tuple)或者列表(list)的形式傳參數(shù)的時候哺窄,我們可以使用args(單星號)。
如果我們不知道往函數(shù)中傳遞多少個關(guān)鍵詞參數(shù)或者想傳入字典的值作為關(guān)鍵詞參數(shù)的時候我們可以使用*kwargs(雙星號)忌堂,args证舟、kwargs兩個標(biāo)識符是約定俗成的用法。
概括如下:
*args:是不帶關(guān)鍵字參數(shù)缺谴,tuple 和 list格式
**kwargs: 是帶關(guān)鍵字參數(shù)和字典格式
代碼輔助理解
def func(*args, ** kwargs):
print args,kwargs
d = {'s':1, 'r':2}
l = [1,2,3]
func(0, *l, c=2,**d)
#輸出 (0,1, 2, 3) {'s': 1, 'r': 2, 'c': 2}