내 객체의 __str__()
메소드를 확장하고 싶습니다. str(obj)
현재 읽대체하지 않고 __str __() 확장하기
<mymodule.Test object at 0x2b1f5098f2d0>
나는 고유 식별자로 주소를 좋아하지만, 몇 가지 속성을 추가 할 수 있습니다. 주소 부분을 유지하면서 이것을 확장하는 가장 좋은 방법은 무엇입니까? 다음과 같이보고 싶습니다.
<mymodule.Test object at 0x2b1f5098f2d: name=foo, isValid=true>
주소를 저장하는 속성이 없습니다. 파이썬 2.4.3을 사용하고 있습니다.
편집가 : __repr이 작업을 수행하는 방법을 알고 좋겠지 __()
솔루션 (파이썬 2.4.3에 대한) : 당신은 id(obj)
와 주소를 얻을 수
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)
우선, 오래된 파이썬 버전을 사용하지 마십시오. 그 외에, 당신이하려고하는 것은'__repr__'입니다. – ThiefMaster