Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Créer un decorateur simple
Un decorateur en Python, c'est une higher-order function qui prend une fonction en argument et renvoie une nouvelle fonction enrichie. C'est la combinaison parfaite de tout ce qu'on a vu : higher-order functions, closures et fonctions qui renvoient des fonctions.
Le principe : tu enveloppes une fonction existante dans une autre pour ajouter un comportement avant ou apres son execution, sans modifier la fonction originale.
La syntaxe *args permet d'accepter n'importe quel nombre d'arguments.
Écris un decorateur doubler_resultat(func) qui prend une fonction renvoyant un nombre et renvoie une nouvelle fonction qui fait la meme chose mais multiplie le résultat par 2.
Exemple : @doubler_resultat def ajouter(a, b): return a + b
ajouter(3, 4) renvoie 14 (car 7 * 2 = 14)
Tests (3/4)
Doubler addition
@doubler_resultat
def add(a, b): return a + b
assert add(3, 4) == 14