在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象。..."不可更改"的对象
当我们写下面语句时:
a = "hello world"
Python解释器其实顺序干了两件事情:
在内存中创建一个字符串“hello world”;
在内存中创建一个名为“a”的变量..."可更改"的对象
a = [1, 2, 3]
b = a
a[0], a[1], a[2] = 4, 5, 6 //改变原来 list 中的元素
>>> a
[4, 5, 6]
>>> b
[4, 5,...但是,像list,dict等“可更改”的变量,他们会直接再本地更改,不会进行副本拷贝。
简言之,当在 Python 中 a = sth 应该理解为给 sth 贴上了一个标签 a。...当再赋值给 a 的时候,就好象把 a 这个标签从原来的 sth 上拿下来,贴到其他对象上,建立新的"引用"。
既然Python只允许引用传递,那有没有办法可以让两个变量不再指向同一内存地址呢?