首页 > 编程语言 > 详细

python unpack 解包位置关键字参数(args,kwargs) 讲义

时间:2020-04-17 18:46:50      阅读:66      评论:0      收藏:0      [点我收藏+]

先看*args做了什么:

技术分享图片

 

 可以看到func预期只给了三个位置参数来接受*args 解包出来的参数,一旦解包多出3个,也就是报错案例给的4个就会报错:

技术分享图片

 

 

def func_unpack(*args):
print("get position args is {}".format(args))
print("unpack args to a,b,c three param:")
a,b,c=args
print(a,b,c)
func_unpack(*args)
表示接受任意个与Java Object... 一个原理:
结果:

get position args is (1, 2, 3)
unpack args to a,b,c three param:

再来类推**kwargs:

技术分享图片

 

 可以看到:d=4这个没有的位置参数被传给他会报错

技术分享图片

 

 接着我们使用**kwargs测试,解包keyword 参数:

技术分享图片

 

 结果可以看到

技术分享图片

 

 同样再多穿一个关键字参数d=xxx,观察异常解包keyword参数:

技术分享图片

 

 结果:

技术分享图片

 

 最后我们来任意位置参数解包:

技术分享图片

 

 技术分享图片

 

 总结:*args,**kwargs其实就是编译器自动为我们解包参数给函数的功能,我们不管实现过程只要把你想传入的参数通过*解包和**解包扔给函数,他就会自动帮你完成解包过程

 

python unpack 解包位置关键字参数(args,kwargs) 讲义

原文:https://www.cnblogs.com/SunshineKimi/p/12721503.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!