Saltar al contenido

Herencia de Python: concatenación con super __str__

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *