【发布时间】:2010-11-26 16:03:35
【问题描述】:
假设我有一个 Python 对象的 id,我通过 id(thing) 检索到该对象。如何通过给我的 id 号再次找到thing?
【问题讨论】:
-
我很好奇:你为什么要这样做?你的目标是什么?
-
@Craig McQueen:stackoverflow.com/questions/1400295/…
-
我无法重新找到它的来源,但我认为 id() 返回的是特定发行版想要的任何内容。此时,重述的 CPython 可能会返回类似内存的地址,但其他发行版可能会返回不同的对象类型或不是内存指针的整数。如果有一个内置函数可以通过 id() 返回的内容获取对象,那就太好了。尽管很难想象其他持久性用例。此外,虽然 *variable, like C 似乎是有道理的;我喜欢 Python,因为它不像大多数其他语言那样使用标点符号。
-
这样做的正当理由:调试。对象的默认
repr包括它们的内存地址。有时在调试时(尤其是交互式),您希望能够访问该对象,而无需尝试深入了解它的定义位置。 -
@asmeurer:我认为这样做还有其他正当理由(假设使用 CPython)。我在这里对其他问题的回答中至少使用过几次。
标签: python