python函数传入数量可变参数
def func(x,y,**kwargs): print(x,y,kwargs) func(x=2,y=1,3,4)#这样传入参数为错误,**需要赋值给一个变量名,然后传入为字典性形式func(x=2,y=1,z=3,a=4)#结果可运行得到,溢出参数为字典形式保存
def zzf(x,y,*z): print(x,y,z)zzf(1,2,3,4,5,6,7)#传入参数,可以把溢出的位置参数保存成一个元祖的形式#差别在于位置实参和关键字实参
def func(x,y,z) print(x,y,z)func(*[11,22,33])#可把列表数据进行打散,分配到每个函数的位置参数
形参和实参种都有*def bbc(x,y,*args): print(x,y,args)bbc(1,2,*[3,4,5,6])会不分解此数据,只会把此元祖保存成一个元祖的形式
#总结 在函数的形参中使用*,是把位置参数转变成一个元祖,如果形参使用**,把关键字参数转变为字典形式
#如果是在实参种使用,需要跟一个可迭代数据,如果是*则是把参数直接打散,转化为位置实参,如果是**则需要跟一个字典形式的数据,可以把字典转化成一个带关键字的实参
赞 (0)