Я хочу расширить __str__()
метод моего объекта. str(obj)
в настоящее время читает:
<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)