1. 定義解釋
在函數定義def func(*args, **kw) 時,
參數args 前有‘*’符号,表示該參數是可變參數,即參數的數量可以為任意個;
參數kw 前有‘**’符号,表示該參數是關鍵字參數,即參數帶有key,且數量可以為任意個;
在函數調用 func(*args, **kw) 時,
參數args 前有‘*’符号,表示會把args展開,把其中的每個參數傳入;args是一個list或tuple.
參數kw 前有‘**’符号,表示會把kw展開,把其中的每個key=value傳入;kw是一個dict.
2. 舉例說明
def sum(x,y,z=10,**kw):
print kw
return x+y+z
nms = [1,2]
sts = {'a':1,'z':20}
print sum(*nms,**sts) #實際運作 sum(1,2,z=20,a=1),并組裝了kw={'a':1} #output: {'a':1} 23
參考:
1. https://blog.csdn.net/yeqiustu/article/details/80314704
2. https://blog.csdn.net/lxy210781/article/details/80628426