如果是函數(shù)定義中參數(shù)前的*表示的是將調(diào)用時的多個參數(shù)放入元組中,**則表示將調(diào)用函數(shù)時的關鍵字參數(shù)放入一個字典中
如定義以下函數(shù)
def func(*args):print(args)
當用func(1,2,3)調(diào)用函數(shù)時,參數(shù)args就是元組(1,2,3)
定義以下函數(shù)
def func(**args):print(args)
當用func(a=1,b=2)調(diào)用函數(shù)時,參數(shù)args將會是字典{'a':1,'b':2}
如果是在函數(shù)調(diào)用中,*args表示將可迭代對象擴展為函數(shù)的參數(shù)列表
args=(1,2,3)
func=(*args)
等價于函數(shù)調(diào)用func(1,2,3)
函數(shù)調(diào)用的**表示將字典擴展為關鍵字參數(shù)
args={'a':1,'b':2}
func(**args)
等價于函數(shù)調(diào)用 func(a=1,b=2)