python不定长度有什么用_2分钟看懂Python拆包之不定长参数*args和 **kwargs

165897475_1_20190713075310379

不定长参数一:*args将实参中剩余的值都传递给变量args剩余的值在args中,以元组的形式保存

165897475_2_20190713075310566

如图,test函数中的3,4将会以一个元组的形式传递给args,具体表现看输出结果第三行元组(3,4),那么函数中的*args中的星号代表什么呢?就是表示对元组进行拆包。具体表现看输出结果第四行。

不定长参数二:**kwargs没有变量名的参数,以args元组的形式保存有变量名的参数,以kwargs字典形式进行保存

165897475_3_20190713075310629

如图,test函数中的name,age将以字典的形式传递给kwargs,两个星号表示对字典拆包,程序中直接对kwargs值进行打印,可以看到kwargs是一个字典。

拆包

弄懂了*args和**kwargs我们就知道了什么是拆包

* 可以对 元祖 进行拆包** 可以对 字典 进行拆包注意事项

上述两个例子中,test函数的实参分别是(1,2,3,4)和(1,2,name='f',age=18)。

那么我们直接传递一个元组是否可行呢。

165897475_4_20190713075310691

我们发现元组(3,4)被当成一个元素了。如果我们想将元组内的元素分开传递,我们可以对元组进行拆包。

165897475_5_20190713075310769

也就是说我们的实参必须是拆包后再进行传递。**kwargs也是一样

165897475_6_20190713075310832

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值