No olvides que en las ciencias informáticas cualquier problema casi siempre tiene más de una resoluciones, así que aquí mostraremos lo mejor y más óptimo.
Solución:
Necesitas hacer super(B, self).__str__()
. super
se refiere a la clase padre; no estás llamando a ningún método.
Aquí hay un código de trabajo. Lo que necesitabas era
1) objeto de subclase, para que super funcione como se esperaba, y
2) Uso __str__()
al concatenar tu string.
class A(object):
def __str__(self):
return "this"
class B(A):
def __str__(self):
return super(B, self).__str__() + " + that"
print B()
Nota: print B()
llamadas b.__str__()
bajo el capó.
la clase B debe ser:
class B(A):
def __str__(self):
return super(B, self).__str__() + ' + that
Acuérdate de que puedes optar por la opción de añadir un enjuiciamiento acertado si te ayudó.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)