Python:类名中的双冒号

时间:2013-04-21 16:43:48

标签: python

在Python中调试代码时遇到以下问题:

<ROOT.cool::IDatabase object at 0xbc88680>

双重结肠意味着什么,为什么我需要它们?

1 个答案:

答案 0 :(得分:4)

对我而言,它似乎是一个C ++类函数的python包装器,因此::

和Lattyware一样,这只是对python对象__repr__()的调用的返回。

你可以很好地让自己确定:

class Foo():
    def __repr__(self):
        return "<Foo.bar:::qux::::kludge object at %s>" %hex(id(self))

因此,您无需担心::,但您可能需要帮助调试对象本身。