No lo tratara como entero.
Simplemente __init__ es un constructor
Y __str__ es la representación del objeto como cadena.
Otro ejemplo:
Código Python:
Ver originalclass Carro:
def __init__(self, gasolina):
self.gasolina = gasolina
carro = Carro()
print carro
¿Ahora vez la diferencia? La clase con el metodo __str__ y sin el metodo __str__
Te recomiendo leer mas sobre programación orientada a objetos para python.