python函數(shù)可變長(zhǎng)參數(shù):
1.位置參數(shù)必須放在關(guān)鍵字參數(shù)的左邊
2.*針對(duì)列表數(shù)據(jù),**針對(duì)字典數(shù)據(jù)
3.因?yàn)槲恢脜?shù)必須放在關(guān)鍵字參數(shù)的左邊,所以定義萬(wàn)能參數(shù)時(shí)*args 只能放在**kwargs參數(shù)的左邊(準(zhǔn)守1的規(guī)則)
位置參數(shù):
例如:
def test(x):
return x
test(2)------> 2為位置參數(shù)
關(guān)鍵字參數(shù):
例如:
def test(x)
return x
test(x=2)------->x=2為關(guān)鍵字參數(shù)
*args 接收位置參數(shù)
例如:
def test(x,*y):
print (x)
print (y)
1.test(1,2,3,4,5)------>輸出x=1, y=(2,3,4,5,)
2.test(1,[2,3,4,5,6],1)------>輸出x=1,y=([2,3,4,5,6],1,) 如果想循環(huán)取出列表內(nèi)的數(shù)據(jù),則:
3.test(1,*[2,3,4,5,6])---->輸出x=1,y=(2,3,4,5,6,)
4.test(1,{1:2})------->輸出x=1,y=({1:2},)
5.test(1,(1:2))------->輸出x=1,y=((1:2),)
**kwargs 接收關(guān)鍵字參數(shù)
def test(x,**y):
print (x)
print (y)
1.test(1,z=2)------>輸出x=1, y={'z':2}
2.test(1,**{'z':2})------>輸出x=1,y={'z':2}
*args,**kwargs 接收萬(wàn)能參數(shù)
def test(a,*x,**y):
print (a)
print (x)
print (y)
test(1,*[1,2,3],**{"z":2})
輸出: