我的问题更像是一个理解问题,而不是一个严格的编程问题。我知道python变量实际上是指针,这意味着它们实际上并不存储值,而是指向内存中存储该值的位置。我无法弄清楚以下两种情况有何不同:
>>> a = 3
>>> b = a
>>> a
3
>>> b
3
>>>b = 4
>>> b
4
>>> a
3
分配给“b”的新值不会改变“a”指向的值。反对:
>>> a = [1,2,3]
>>> b = a
>>> a
[1,2,3]
>>> b
[1,2,3]
>>> b.append(4)
>>> b
[1,2,3,4]
>>> a
[1,2,3,4]
分配给 b 的新值改变了 a 指向的值