python高级特性之封包与解包

python高级特性之封包与解包_第1张图片

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:kwsy

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

1. python 封包

将多个值赋值给一个变量时,python会自动将这些值封装成元组,这个特性称之为封包

当函数返回多个数值时,也会进行封包

python高级特性之封包与解包_第2张图片

实践中,很少主动使用封包操作

2. python解包

python解包是使用频率非常高的技术,下面列列举几种使用python解包的场景

2.1 接收函数返回值

python高级特性之封包与解包_第3张图片

函数的返回值是一个元组,左侧是三个变量,这样就会发生解包,a, b, c依次等于元组里的元素,函数的返回值有3个,被封包成了元组, 赋值语句的左侧不一定非得是3个变量

python高级特性之封包与解包_第4张图片

变量a赋值为1, 变量b前面有一个星号,剩余的2, 3 将被解包为列表

2.2 遍历字典

 

python高级特性之封包与解包_第5张图片

2.3 传递参数

 

python高级特性之封包与解包_第6张图片

使用解包技术,可以将元组解包成可变参数,将字典解包成关键字参数,这种技术在实践中大量应用,比如使用python操作redis时,如果你想一次性向集合中添加多个值,就必须使用解包结束传入参数

python高级特性之封包与解包_第7张图片

 

sadd的方法定义如下

python高级特性之封包与解包_第8张图片

如果不使用解包技术,就只能在调用sadd方法时手动逐个写入参数,耗时又费力

2.4 合并两个字典

巧妙的利用解包技术,可以简单方便的将两个字典合并到一个新字典中

python高级特性之封包与解包_第9张图片

 

你可能感兴趣的:(python高级特性之封包与解包)