分享

python函数传入数量可变参数

 imelee 2021-02-11
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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多