在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什么时候不等的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

py文件怎么执行

Python怎么把input的值储存到一个列表

Python的两种编程方式是什么

Python处理csv文件实例详解

gitignore文件是干嘛的

基于Python 装饰器装饰类中的方法

Python基础汇总

Python如何使用列表推导式

Python web开发用什么工具

Python中单下划线和双下划线有什么区别

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




打赏

取消

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

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

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

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

评论

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