python - 理解 Python 中的引用

标签 python reference

下面的例子:

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。由于您之前已将 ab 设置为对同一对象的引用,因此修改也适用于 a

关于python - 理解 Python 中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469325/

相关文章:

c++ - 表示 vector 引用 vector 的最方便的方法

python - tkinter 中是否可以有清晰/透明的标签?

python - 如何设置 matplotlib 以使用 Django 框架(python)

python - 如何在 iPython 中漂亮地打印字典

python - 更改 Altair 折线图和面积图中的步长宽度

C++ 静态方法(在不同的类中)(如 Java 的)

java - 我们如何将与java中的对象关联的所有引用设置为null?

jquery - 使用 jQuery 的最佳引用资料是什么?

c - 为什么需要在 C 中用 * 定义对指针的引用?

python - 从 mobi 中提取信息