【发布时间】:2013-09-26 16:15:37
【问题描述】:
我想获取一个类对象的实例。我有它的地址和对象的名称。如何创建对象的实例或如何检索相同的对象?
该类在一个 python 模块中定义,我希望它在另一个 python 模块中使用。
我可以使用object id来访问类的对象吗?
我的实际问题是我有一个 Python 模块,其中定义了一个类 (class Myclass)。我正在我的新代码中重用该模块。我希望在我的新文件中访问旧模块中定义的Myclass 的对象。
谁能建议我实现这一目标的方法?我无权访问已定义类的模块源代码。我可以设法通过垃圾收集器获取类名。
【问题讨论】:
-
对象id不一定和对象在内存中所在的内部地址有任何关系。所以不,不可能从 id 或任何“地址”(无论你从哪里得到)获取 Python 对象。相反,您应该在某个地方制作一个字典,以便以后查找对象时将其存储在其中。
-
如果你有一个对象的地址(我假设你的意思是对它的引用?)那么这就是你需要与对象交谈的全部内容。
-
你好乔,我没有对象的引用。我只有物理内存地址(0X14356700)。还有一件事我的原始类是在我无法访问源的文件中定义的。我只是有它的二进制文件来访问或重用代码。
-
@mkreddy 你读过:Python: Get object by id?
-
一个对象的
id()和它在内存中的地址不是一回事。它们恰好在 CPython 中,但这是一个实现细节。
标签: python