tengo la (ejemplo) siguiente código:Python __repr__ para números?
class _1DCoord():
def __init__(self, i):
self.i = i
def pixels(self):
return self.i
def tiles(self):
return self.i/TILE_WIDTH
Lo que quiero hacer es lo siguiente:
>>> xcoord = _1DCoord(42)
>>> print xcoord
42
Pero en lugar de eso ver esto:
>>> xcoord = _1DCoord(42)
>>> print xcoord
<_1DCoord instance at 0x1e78b00>
He intentado utilizar __repr__ de la siguiente manera:
def __repr__(self):
return self.i
Pero __repr__ solo puede devolver una cadena. ¿Hay alguna manera de hacer lo que estoy tratando de hacer, o debería simplemente renunciar y usar pixels()?
Ah ! ¡Gracias una tonelada! También tuve que definir \ _ \ _ add \ _ \ _, \ _ \ _ sub \ _ \ _ etc. para poder trabajar con el valor devuelto (me estaba dando errores de tipo), pero eso funciona perfectamente. –