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

相关阅读 >>

如何使用vscode愉快的写Python于调试配置步骤_Python

Python不支持的数据类型是什么

Python用什么电脑

Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】_Python

Python如何赚外快

什么时候出Python4

Python共发布过哪些版本

Python怎么给变量赋值

Python 爬虫网页登录的实现

Python能做什么?是什么?

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




打赏

取消

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

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

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

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

评论

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