>>> 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]
为什么C += [5]
会修改A
,但D = D + [5]
不会修改?{/ p>
python中的=
和+=
或其他任何语言之间有什么区别吗?
答案 0 :(得分:2)
其实是的。当您使用+=
时,您仍然引用同一个对象,但是使用+
创建一个新对象,并使用=
重新分配对该新创建对象的引用。在处理函数参数时,这一点尤其重要。感谢@Amadan和@Peter Wood澄清这一点。