专栏名称: Python爱好者社区
人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、视频教程、热点资讯、学习资料等。每天自动更新和推送。
今天看啥  ›  专栏  ›  Python爱好者社区

Python干货:表达式 i += x 与 i = i + x 等价吗?

Python爱好者社区  · 公众号  · Python  · 2017-09-04 17:06
 作者:刘志军,6年+Python使用经验, 高级开发工程师,目前在互联网医疗行业从事Web系统构架工作个人公众号:Python之禅(微信ID:vttalk)题图:unsplash.com by Dmitry PavlovPython 表达式 i += x 与 i = i + x 等价吗?如果你的回答是yes,那么恭喜你正确了50%,为什么说只对了一半呢? 按照我们的一般理解它们俩是等价的,整数操作时两者没什么异同,但是对于列表操作,是不是也一样呢?先看下面两段代码:代码1>>> l1 = range(3)>>> l2 = l1>>> l2 += [3]>>> l1[0, 1, 2, 3]>>> l2[0, 1, 2, 3]代码2>>> l1 = range(3)>>> l2 = l1>>> l2 = l2 + [3]>>> l1[0, 1, 2]>>> l2[0, 1, 2, 3]代码1与代码2中的l2的值是一样的,但是l1的值却不一样,说明 i += x 与 i = i + x是不等价的,那什么情况下等价,什么情况下不等价呢? ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照