Menu
Coddy logo textTech

Introduction aux décorateurs

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 9 sur 64.

Les décorateurs sont un moyen de modifier ou d'améliorer des fonctions et des classes sans changer leur code d'origine. Ils utilisent le symbole @.

Voici un exemple d'un décorateur simple : 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Appliquez le décorateur en utilisant @ :

@my_decorator
def say_hello():
    print("Hello!")

Appelez la fonction décorée :

say_hello()

Sortie :

Before function runs
Hello!
After function runs

Le @my_decorator équivaut à écrire :

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Mais la syntaxe @ est bien plus propre et plus facile à lire.

Point clé : Les décorateurs enveloppent les fonctions pour ajouter des fonctionnalités supplémentaires sans modifier le code de la fonction originale

Aide-mémoire

Les décorateurs modifient ou améliorent les fonctions sans changer leur code d'origine en utilisant le symbole @.

Structure de base d'un décorateur :

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Appliquer un décorateur en utilisant @ :

@my_decorator
def say_hello():
    print("Hello!")

La syntaxe @my_decorator est équivalente à :

say_hello = my_decorator(say_hello)

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Object Oriented Programming