@propertydefvalue(self):returnself._valuedef__repr__(self):address_as_string=("%#x"%self._value)ifisinstance(self._value,int)else("%s"%self._value)return"HeapAddress<%s>"%address_as_stringdef__add__(self,value):ifnotisinstance(value,int):raiseTypeError("Can only add int to HeapAddress, got %s"%type(value).__name__)returnHeapAddress(self.value+value)def__radd__(self,value):returnself.__add__(value)def__eq__(self,other):returnisinstance(other,HeapAddress)andself._value==other._valuedef__hash__(self):returnhash(self._value)