xdyewu 发表于 2020-3-22 17:28:28

列表基础问题求助,a+=b,a=a+b

x=
y=x
y=y+
print(x,y)


x=
y=x
y+=
print(x,y)


对应两种方法分别输出的是 和

对于y+=和y=y+要如何理解。

提前谢谢大佬解答。

zltzlt 发表于 2020-3-22 17:30:26

y=y+ 是对 y 重新赋值,改变了 y 的内存地址

而 y+= 并没有改变内存地址

coolsummer2080 发表于 2020-3-22 17:46:00

>>> x =
>>> y = x
>>> id(x),id(y)
(56858784, 56858784)
>>> y = y +
>>> id(x),id(y)
(56858784, 49443304)
>>> x =
>>> y = x
>>> id(x), id(y)
(56892792, 56892792)
>>> y +=
>>> id(x), id(y)
(56892792, 56892792)
>>> x, y
(, )
楼上说的对。如果对,就给个最佳答案呗。{:5_109:}
页: [1]
查看完整版本: 列表基础问题求助,a+=b,a=a+b