在Python中i += x和i = i + x什么时候不等


本文摘自php中文网,作者silencement,侵删。

增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此)。所以我们会乐此不疲的在任何能够替换普通赋值语句的地方使用增量型赋值语句,以此来优化代码。那么我们是否有想过,在什么情况下 i += 1 其实并不等效于 i = i + 1 !!

例一:使用增强型赋值语句:

d439989cb37b579dddf9a45bb195e47.png

例二:使用普通赋值语句:

372689e3c84aa8d640de9b23e8a6a51.png

上述两个例子中,将一个列表类型对象赋值给变量 a,再将变量 a 赋值给变量 b,此时 a、b 指向了同一个内存对象 [1, 2, 3]。然后分别应用增量赋值运算符和普通赋值运算符来操作变量 b。从最后的结果来看,例一中的 a、b 在进行运算后依旧指向了同一个内存对象。例二则相反,a、b 分别指向了不同的内存对象,也就是说在例二中隐式的新建了一个内存对象。

以上就是在Python中i += x和i = i + x什么时候不等的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python怎么定义线程局部变量

Python为什么要装32位的

Python中大数据处理详解

Python中subprocess批量执行linux命令

在mac环境下xammp的安装以及需要注意的地方

网站爬虫的一个实际分享

Python中什么是算术运算符、赋值运算符和复合运算符?

Python之io多路复用之epoll

几款Python类型检查工具的分享

Python爬虫入门学习什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...