Module (36%)
Section (37%)

Herencia: ¿por qué y cómo?

Cuando Python necesita que alguna clase u objeto deba ser presentado como una cadena (es recomendable colocar el objeto como argumento en la invocación de la función print()), intenta invocar un método llamado __str__() del objeto y emplear la cadena que devuelve.

El método por default __str__() devuelve la cadena anterior: fea y poco informativa. Puedes cambiarlo definiendo tu propio método del nombre.

Lo acabamos de hacer: observa el código en el editor.

El método nuevo __str__() genera una cadena que consiste en los nombres de la estrella y la galaxia, nada especial, pero los resultados de impresión se ven mejor ahora, ¿no?

¿Puedes adivinar la salida? Ejecuta el código para verificar si tenías razón.



Code

class Estrella:
def __init__(self, nombre, galaxia):
self.nombre = nombre
self.galaxia = galaxia

def __str__(self):
return self.nombre + ' en la ' + self.galaxia

sol = Estrella("Sol", "Vía Láctea")
print(sol)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×