python高级特性之封包与解包

Posted python0921

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python高级特性之封包与解包相关的知识,希望对你有一定的参考价值。

技术图片

前言

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

作者:kwsy

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

1. python 封包

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

技术图片

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

技术图片

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

2. python解包

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

2.1 接收函数返回值

技术图片

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

技术图片

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

2.2 遍历字典

 

技术图片

2.3 传递参数

 

技术图片

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

技术图片

 

sadd的方法定义如下

技术图片

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

2.4 合并两个字典

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

技术图片

 

以上是关于python高级特性之封包与解包的主要内容,如果未能解决你的问题,请参考以下文章

Python序列封包与解包

Python的高级特效是什么?有什么用呢?史上最全的教程!

《双星物语》游戏资源格式分析与解包

Python之高级特性

Python高级特性之切片

python之高级特性