1. 程式人生 > >python筆記--*args 和 **kwargs

python筆記--*args 和 **kwargs

1.*args
呼叫函式用實參傳值時,將多餘的值全部傳給args,並且以元組的方式呈現。
EXP:
def F(x, *args, y = 5):
print(x)
print(args)
print(y)
呼叫F:F(1,2,3,4)
結果:
1
(2,3,4)
5

若def F2(x, *args, y)
print(x)
print(args)
print(y)
呼叫F2:F2(1,2,3,4)
會報錯,因為args吞掉了‘2’,‘3’,‘4’,而y沒有指定引數。

2.**kwargs與*args類似,只不過用字典的方式呈現出來
EXP:
def F(x,**kawrgs):
print(x)
print(y)
呼叫F:F(1,y=2,z=3)
結果:
1
{‘y’:2, ‘z’:3}