可变参数在函数之间的传递

def a(*args, **kwargs):  # 函数定义的时候*及**告诉解释器后面的变量可以
                         #接收多个实参,将多个实参自动组包成元组和字典
    print(args)
    print(kwargs)
    b(*args,**kwargs)  # 函数调用的时候,实参前面的*及**表示自动解包,
                       #将传入的元组解成多个实参值,将传入的字典解成多个关键字实参

def b(m,*args,**kwargs):
    print(m)
    print(args)
    print(kwargs)

a(1,2,"a","c",x=5,y=9)
print("-------->")
b(1,2,"a","c",x=5,y=9)  # a函数中调用 b(*args,**kwargs) 
                        #相当于b(1,2,"a","c",x=5,y=9)

输出:

    (1, 2, 'a', 'c')
    {'x': 5, 'y': 9}
    1
    (2, 'a', 'c')
    {'x': 5, 'y': 9}
    -------->
    1
    (2, 'a', 'c')
    {'x': 5, 'y': 9}    

*使用的时候表示解包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值