我想为我定义的某个类编写自己的__repr__
。我希望它与默认的<__main__.O object at 0x00D229D0>
类似,除了那里有一些其他细节。如何重现<__main__.O object at 0x00D229D0>
事?
答案 0 :(得分:5)
请参阅http://docs.python.org/reference/datamodel.html#object.repr
#!/usr/bin/env python
class O(object):
def __repr__(self):
return '<%s.%s object at 0x%x>'%(self.__module__,self.__class__.__name__,id(self))
o=O()
print(repr(o))
# <__main__.O object at 0xb7e7d0cc>
答案 1 :(得分:3)
你可以这样写自己的代表:
class Test (object):
def __repr__(self):
t = type(self)
return "<Instance of %s.%s at %x>" % (t.__module__, t.__name__, id(self))