Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce qu'est un décorateur pour les méthodes de classe en Python?

sobes.tech IA

Réponse de l'IA

Un décorateur pour les méthodes de classe en Python est une fonction qui prend une méthode de classe et renvoie une version modifiée de cette méthode. Il permet d'ajouter un comportement supplémentaire à la méthode sans modifier son code source.

Par exemple, on peut utiliser un décorateur pour la journalisation des appels de méthode, la vérification des droits d'accès ou la mise en cache des résultats.

Exemple d'un décorateur simple pour une méthode de classe :

class MaClasse:
    def decorateur(func):
        def wrapper(self, *args, **kwargs):
            print(f"Appel de la méthode {func.__name__}")
            return func(self, *args, **kwargs)
        return wrapper

    @decorateur
    def methode(self, x):
        return x * 2

obj = MaClasse()
print(obj.methode(5))  # Affichera un message et le résultat 10

Ici, @decorateur enveloppe la méthode methode, ajoutant une sortie supplémentaire lors de l'appel.