我想擴展我的對象的__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