在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 matplotlib中文显示参数设置解析_Python

如何用Python控制浏览器

Python怎么安装有setup.py的包

Python的方法是什么

Python中pop()函数如何使用

信息竞赛一定要Python

Python实现找出序列中出现次数最多的元素

调试设置中的Python路径无效怎么办

pycharm和Python区别是什么

Python处理gif动态图的解析与合成操作的介绍

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




打赏

取消

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

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

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

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

评论

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