打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
2分钟看懂Python拆包之不定长参数*args和 **kwargs

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

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

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

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

拆包

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

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

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

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

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

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python3中很多变量会在前面加个*号,不知道原因敢说学过Python?
python函数的万能参数
函数中参数传递的5种方式
*args 和 **kwargs
17 函数进阶
Python爬虫基础面试题为2019年初大学生就业做准备(文末附教程)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服