【发布时间】:2019-10-10 15:17:23
【问题描述】:
说所有 Python 变量都是指向某个数据对象(如 int 或 list)的指针(就 C 而言)是否正确?例如a = 5 将对象 int(5) 的地址放入 a 中,其中 a 有自己的地址,这是无用的(我认为)。
而Python中定义了print,用于打印a中存储的地址所指向的对象的内容。
并且在Python中定义了id来打印a中存储的地址。
这是真正发生在幕后的事情吗?
【问题讨论】:
-
两者都不是。在 python 中,变量只不过是你给对象的名字,你可以用来引用这些对象。
-
没有单一的 Python 实现。
-
类似于stackoverflow.com/questions/58293498/python-names-and-variables/…(完全披露:我也回答了这个问题)。
-
id(a)可能会返回从内存地址派生的东西,但这对你没有任何用处:你不能在 Python 中取消引用任意内存,所以它也可能是一个随机生成的值。
标签: python