首页 > 开发 > Python > 正文

python 可变参数的使用总结

2017-07-12 18:23:31  来源:慕课网
def sum_2_nums(a,b,*args):    print("-"*30)    print(a)    print(b)    print(args)    result = a+b    for num in args:        result+=num    print("result=%d"%result)sum_2_nums(11,22,33,44,55,66,77)sum_2_nums(11,22,33)sum_2_nums(11,22)#sum_2_nums(11)#错误,因为 形参中 至少要2个实参
将元组和字典做为参数传递给函数
def test(a,b,c=33,*args,**kwargs):#在定义的时候 *,**用来表示后面的变量有特殊功能    print(a)    print(b)    print(c)    print(args)    print(kwargs)#test(11,22,33,44,55,66,77,task=99,done=89)A = (44,55,66)B = {"name":"laowang","age":18}test(11,22,33,*A,**B)#在实参中*,**表示对元祖/字典进行拆包
解包

![图片描述][1]

如果不解包, args kwargs 就会当做普通的元组或者字典传入
解包的过程就是将元组解释成为参数 , 字典解释成为key=value的形式