super()
Python · Unidad 13: Herencia
- Plan completo
- Python
- 10 ejercicios
Si la hija escribe su propio __init__, ese reemplaza al de la madre: el de la madre ya no corre, y lo que guardaba no se guarda.
class Animal:
def __init__(self, nom):
self.nom = nom
class Perro(Animal):
def __init__(self, raza):
self.raza = raza
p = Perro("pug")
print(p.raza)
try:
print(p.nom)
except AttributeError:
print("No tiene nom")Imprime
pug No tiene nom
El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Predice la salida
¿Qué imprime este código?
2. Opción múltiple
Con este código,
print(p.nom)daAttributeError. ¿Por qué?3. Completa el código
Completa para que el perro guarde también su nombre.
4. Completa el código
Completa para que imprima: Valeria 3B
5. Predice la salida
¿Qué imprime este código?
6. Encuentra el bug
Este programa debería imprimir Luis Mate. ¿Qué línea tiene el error?
7. Opción múltiple
En vez de
super().__init__(nom), la hija podría escribir otra vezself.nom = nom. ¿Por qué convienesuper()?8. Ordena las líneas
Un pan en oferta cuesta 30 menos 5 de descuento. Ordena para que imprima 25.
9. Predice la salida
¿Qué imprime este código?
10. Escribe el código
Escribe el
__init__deAlumno: que recibanomyesc, guarde el nombre consuper()y guarde la escuela enself.escuela. Debe imprimir Leo Prepa 2.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.