Sobes.tech
Junior — Middle

Explique le concept de décorateurs en Python et comment ils sont utilisés pour modifier le comportement des fonctions.

sobes.tech IA

Réponse de l'IA

Les décorateurs en Python sont des fonctions qui prennent une autre fonction et renvoient une nouvelle fonction avec un comportement modifié ou étendu, sans changer le code source de la fonction décorée.

Ils sont souvent utilisés pour :

  • La journalisation des appels
  • La vérification des droits d'accès
  • La mise en cache des résultats
  • La mesure du temps d'exécution

Un exemple de décorateur simple qui affiche un message avant et après l'appel de la fonction :

def decorateur(func):
    def wrapper(*args, **kwargs):
        print("Avant l'appel de la fonction")
        result = func(*args, **kwargs)
        print("Après l'appel de la fonction")
        return result
    return wrapper

@decorateur
def dire_bonjour(nom):
    print(f"Bonjour, {nom}!")

dire_bonjour("Monde")

La sortie sera :

Avant l'appel de la fonction
Bonjour, Monde!
Après l'appel de la fonction

Ainsi, les décorateurs permettent de modifier dynamiquement le comportement des fonctions sans changer leur code source.