打印python对象不需要';t产生预期的<__main\uuuuu.myclass…>;输出

打印python对象不需要';t产生预期的<__main\uuuuu.myclass…>;输出,python,Python,当我创建这样的类时 class Node(object): def __init__(self): pass node = Node() print node 打印。 但是,我使用的是一个库,想要打印一个对象,结果如下: foo.node(path="/test/1/2", value='Text') 这是如何建造的?值似乎不是成员变量或任何可访问的内容?我期待类似于的东西,它是由该方法生成的。与所有其他普通方法一样,它所运行的实例作为第一个参数传递。由于我希望得到

当我创建这样的类时

class Node(object):
    def __init__(self):
        pass

node = Node()
print node
打印
。 但是,我使用的是一个库,想要打印一个对象,结果如下:

foo.node(path="/test/1/2", value='Text')

这是如何建造的?值似乎不是成员变量或任何可访问的内容?我期待类似于
的东西,它是由该方法生成的。与所有其他普通方法一样,它所运行的实例作为第一个参数传递。

由于我希望得到一个更解释性的答案,我在《流畅的Python》一书中找到了答案,基本上是库的作者实现了
\urepr\uu

class Node:
    def __init__(self, path=0, value=0):
        self.path = path
        self.value = value

    def __repr__(self):
        return "foo.node(path="{0}", value='{1}')".format(self.path, self.value)
repr特殊方法由内置的repr调用,以获取字符串表示形式 检查对象的名称。如果我们不实现repr,向量实例将 在控制台中显示,如


我被你的观点吓坏了…这么慢地问…能不能生成一个最小的例子?以前从未使用过
\uuuu repr\uuuu()