我想扩展我的对象的__str__()
方法。该str(obj)
目前写着:扩展__str __()而不是替换它
<mymodule.Test object at 0x2b1f5098f2d0>
我喜欢的地址作为唯一的标识符,但我想添加一些属性。在保留地址部分的同时扩展此最佳方式是什么?我想看起来像这样:
<mymodule.Test object at 0x2b1f5098f2d: name=foo, isValid=true>
我不'看到任何存储地址的属性。我使用Python 2.4.3。
编辑:会很高兴地知道如何与__repr做到这一点__()
解决方案(对于Python 2.4.3):
def __repr__(self):
return "<%s.%s object at %s, name=%s, isValid=%s>" % (self.__module__,
self.__class__.__name__, hex(id(self)), self.name, self.isValid)
首先,不要使用这样一个过时的python版本。除此之外,你正在尝试做的是'__repr__'。 – ThiefMaster