我在Python中调试代码时遇到以下情况:
<ROOT.cool::IDatabase object at 0xbc88680>
双冒号的含义是什么,为什么我需要它们?
最佳答案
对我来说,它似乎是 C++ 类函数的 python 包装器,因此 ::
正如 Lattyware 所说,这只是对 python 对象的 __repr__()
调用的返回。
您完全可以确保自己拥有:
class Foo():
def __repr__(self):
return "<Foo.bar:::qux::::kludge object at %s>" %hex(id(self))
因此,您无需担心 ::
,但您可能需要帮助调试的是对象本身。
关于Python:类名中的双冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133577/