def func(x,y,**kwargs): print(x,y,kwargs)
func(x=2,y=1,3,4) #這樣傳入?yún)?shù)為錯(cuò)誤,**需要賦值給一個(gè)變量名,,然后傳入為字典性形式 func(x=2,y=1,z=3,a=4) #結(jié)果可運(yùn)行得到,,溢出參數(shù)為字典形式保存 def zzf(x,y,*z): print(x,y,z) zzf(1,2,3,4,5,6,7) #傳入?yún)?shù),可以把溢出的位置參數(shù)保存成一個(gè)元祖的形式 #差別在于位置實(shí)參和關(guān)鍵字實(shí)參 def func(x,y,z) print(x,y,z) func(*[11,22,33]) #可把列表數(shù)據(jù)進(jìn)行打散,,分配到每個(gè)函數(shù)的位置參數(shù) 形參和實(shí)參種都有* def bbc(x,y,*args): print(x,y,args) bbc(1,2,*[3,4,5,6]) 會(huì)不分解此數(shù)據(jù),,只會(huì)把此元祖保存成一個(gè)元祖的形式 #總結(jié) 在函數(shù)的形參中使用*,是把位置參數(shù)轉(zhuǎn)變成一個(gè)元祖,,如果形參使用**,,把關(guān)鍵字參數(shù)轉(zhuǎn)變?yōu)樽值湫问?/span> #如果是在實(shí)參種使用,需要跟一個(gè)可迭代數(shù)據(jù),,如果是*則是把參數(shù)直接打散,轉(zhuǎn)化為位置實(shí)參,,如果是**則需要跟一個(gè)字典形式的數(shù)據(jù),,可以把字典轉(zhuǎn)化成一個(gè)帶關(guān)鍵字的實(shí)參
|