Decoradores
Python · Unidad 21: Python avanzado
- Plan completo
- Python
- 8 ejercicios
Ya usaste dos decoradores: @dataclass y @property. Un decorador es una función que recibe otra función y entrega una nueva en su lugar.
Sin @ se ve el truco: envuelves la función y guardas el resultado con el mismo nombre.
def gritar(f):
def envuelta():
return f().upper()
return envuelta
def saludo():
return "hola"
saludo = gritar(saludo)
print(saludo())Imprime
HOLA
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. Completa el código
Completa para que el decorador entregue el doble de lo que regrese la función.
3. Predice la salida
¿Qué imprime este código?
4. Encuentra el bug
Debería imprimir 30, el precio por 2. ¿Qué línea tiene el error?
5. Completa el código
Completa para que
saludono pierda su nombre.6. Ordena las líneas
Ordena para que
saludoregrese el saludo en mayúsculas.7. Opción múltiple
¿Qué significa la línea
@gritarde este código?8. Predice la salida
¿Qué imprime este código?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.