>>> A = [1,2,3,4]
>>> D = A
>>> D
[1, 2, 3, 4]
>>> D = D + [5]
>>> A
[1, 2, 3, 4]
>>> C = A
>>> C += [5]
>>> A
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
为什么C += [5]
修改A
但D = D + [5]
不修改?
是否有任何区别=
,并+=
在Python或在这个意义上任何其他的语言吗?
事实上是的。当您使用时,+=
您仍然引用同一个对象,但是+
您正在创建一个新对象,并且=
您将引用重新分配给该新创建的对象。这在处理函数参数时尤其重要。感谢@Amadan 和@Peter Wood 的澄清。
归档时间: |
|
查看次数: |
90 次 |
最近记录: |