Décorateurs Python

Les décorateurs sont un moyen de changer, d'améliorer ou de modifier de quelque manière que ce soit le fonctionnement d'une fonction.

Les décorateurs sont définis avec le@symbole suivi du nom du décorateur, juste avant la définition de la fonction.

Exemple:

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

Cehellofonction a lelogtimedécorateur assigné.

Chaque fois que nous appelonshello(), le décorateur va être appelé.

Un décorateur est une fonction qui prend une fonction comme paramètre, enveloppe la fonction dans une fonction interne qui effectue le travail qu'elle doit faire et renvoie cette fonction interne. En d'autres termes:

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

Plus de tutoriels python: