51Testing软件测试论坛
标题:
Python 表达式 i += x 与 i = i + x 等价吗?
[打印本页]
作者:
lzjun
时间:
2017-2-5 13:02
标题:
Python 表达式 i += x 与 i = i + x 等价吗?
Python 表达式 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 是不等价的,那什么情况下等价,什么情况下不等价呢?
扫一扫关注公众号『一个程序员的微站』获取最新文章
作者:
Miss_love
时间:
2017-2-7 16:41
+号两边格式需一致。
作者:
梦想家
时间:
2017-2-7 16:53
作者:
jingzizx
时间:
2017-2-10 11:15
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2