前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >17. Python的赋值语句的技巧

17. Python的赋值语句的技巧

作者头像
用户4381798
发布2020-07-30 16:50:36
4790
发布2020-07-30 16:50:36
举报
文章被收录于专栏:用户4381798的专栏

Python的赋值语句中隐藏着很多技巧,这都是Python的开发者为了方便Python使用者,使后者能以更简洁易读的代码实现更强大广泛的功能而花费的心思。 1.链式赋值

代码语言:javascript
复制
>>> x=y=1
>>> x
1
>>> y
1

2.增强赋值

代码语言:javascript
复制
>>> x=y=1
>>> x
1
>>> x+=2
>>> x
3
>>> x*=2
>>> x
6
>>> x/=2
>>> x
3.0
>>> x%=2
>>> x
1.0

3.序列封包

代码语言:javascript
复制
>>> values=1,2,3
>>> values
(1, 2, 3)

这其实是将值用逗号分隔,创建一个元组。 4.序列解包

代码语言:javascript
复制
>>> values=1,2,3,4,5
>>> values
(1, 2, 3, 4, 5)
>>> v1,v2,v3,v4,v5=values
>>> v1
1
>>> v2
2
>>> v3
3
>>> v4
4
>>> v5
5

在这里序列解包其实还是对元组的解包,因为元组不能修改,所以一般对其解包来处理其元素。有些返回值是元组的函数,这种方式处理起来比较方便。

代码语言:javascript
复制
>>> v1,v2,v3=values
>>> v1
1
>>> v2
2
>>> v3
3>>> values=[1,2,3]
>>> v1,v2,v3=values
>>> v1
1
>>> v2
2
>>> v3
3

当然列表也可以进行解包。 以上例子是解包的序列元素个数和等号左边列出的目标数相同的情况,当不同时,需要用星号运算符来收集多余的值。

代码语言:javascript
复制
>>> values=1,2,3,4,5
>>> v1,v2,*v3=values
>>> v1
1
>>> v2
2
>>> v3
[3, 4, 5]

*v3收集了多余的元素,注意,v3是一个列表的形式。

代码语言:javascript
复制
>>> v1,*v2,v3=values
>>> v1
1
>>> v2
[2, 3, 4]
>>> v3
5

星号放中间,可以收集中间的元素。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档