Décorateurs Python

Les décorateurs en Python sont des fonctions qui permettent de modifier le comportement d’autres fonctions. Ils sont très utiles pour ajouter des fonctionnalités supplémentaires à une fonction sans avoir à la modifier directement.

Voici un exemple de décorateur qui ajoute un comportement de journalisation à une fonction :

 

def logger(func):
    def wrapper(*args, **kwargs):
        print(f"Appel de la fonction {func.__name__} avec les arguments {args} et {kwargs}")
        result = func(*args, **kwargs)
        print(f"Le résultat de la fonction est {result}")
        return result
    return wrapper

@logger
def add(x, y):
    return x + y

add(5, 6)

Le décorateur

logger

prend une fonction en entrée et renvoie une nouvelle fonction qui ajoute le comportement de journalisation. Lorsque vous appelez la fonction

add

, elle appelle la fonction

wrapper

qui effectue la journalisation et appelle la fonction originale

add

.

Le décorateur est défini en utilisant le symbole

@

suivi du nom de la fonction décoratrice, comme ceci :

 

@logger
def add(x, y):
    return x + y

Cette syntaxe est équivalente à ceci :

 

def add(x, y):
    return x + y
add = logger(add)

Les décorateurs sont une fonctionnalité puissante de Python qui vous permet de facilement ajouter de nouvelles fonctionnalités à vos fonctions existantes sans avoir à les modifier directement. Ils sont souvent utilisés pour ajouter de la journalisation, du contrôle d’accès ou d’autres fonctionnalités de gestion de données à des fonctions existantes.

Please follow and like us:
Pin Share