Decorators Usage
Lección 5 de 12 del curso Decoradores de Python de Coddy.
En Python, un decorador es una función que toma otra función como entrada y extiende el comportamiento de la función de entrada sin modificar explícitamente su código. Los decoradores son una forma poderosa de modificar o mejorar el comportamiento de las funciones de una manera flexible y reutilizable.
Aquí hay un ejemplo de una función decoradora simple:
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapperEn este ejemplo, la función my_decorator toma otra función func como entrada y devuelve una nueva función llamada wrapper.
La función wrapper añade algo de comportamiento antes y después de que se llame a la función func.
Desafío
FácilEscribe una función decoradora llamada debug que tome una función func como entrada y devuelva una nueva función que imprima el nombre de func y el valor de retorno de func cada vez que sea llamada.
Para obtener el nombre de
func, utilizafunc.__name__.
Aquí tienes un ejemplo del uso del decorador debug:
def hello():
return "Hello"
debug_hello = debug(hello)
debug_hello()En este ejemplo, estamos usando el decorador debug para envolver la función hello y crear una nueva función llamada debug_hello. Cuando llamamos a debug_hello(), el decorador imprimirá:
Calling hello
hello returned: HelloPuedes asumir que todas las funciones pasadas a
debugson funciones sin argumentos.
Pruébalo tú mismo
Todas las lecciones de Decoradores de Python
Practica por tu cuenta: Compilador de Python online