Decoradores de Python

Los decoradores son una forma de cambiar, mejorar o alterar de cualquier forma el funcionamiento de una función.

Los decoradores se definen con el@símbolo seguido del nombre del decorador, justo antes de la definición de la función.

Ejemplo:

@logtime
def hello():
    print('hello!')

Estahellofunción tiene ellogtimedecorador asignado.

Siempre que llamemoshello(), se llamará al decorador.

Un decorador es una función que toma una función como parámetro, envuelve la función en una función interna que realiza el trabajo que tiene que hacer y devuelve esa función interna. En otras palabras:

def logtime(func):
    def wrapper():
        # do something before
        val = func()
        # do something after
        return val
    return wrapper

Más tutoriales de Python: