下面的例子:
a = 1
b = a
b = 3
print(a) # gives 1
但是,当我这样做时:
a = [1,2]
b = a
b[0] = 3
print(a) # gives [3,2]
我如何知道一个变量是被视为(C++ 类型)引用还是普通变量?基本数据类型只是“一切都是引用”规则的异常(exception)吗?我遗漏了哪些基 native 制的细节?
最佳答案
所有 Python 中的变量都是引用。基本数据类型也不异常(exception)。
在第一个示例中,您重新分配 b
。它不再引用与 a
相同的对象。
在第二个示例中,您修改 b
。由于您之前已将 a
和 b
设置为对同一对象的引用,因此修改也适用于 a
。
关于python - 理解 Python 中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469325/