Exercices Les Bases Python Décorateur compteur
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Décorateur compteur

Les décorateurs sont partout en Python professionnel : @login_required dans Django, @app.route dans Flask, @property dans les classes. Comprendre comment ils marchent, c'est passer de simple utilisateur à vrai développeur Python.

Le principe : une fonction qui prend une autre fonction et renvoie un wrapper qui l'enveloppe. En Python, les fonctions sont des objets, tu peux donc leur ajouter des attributs comme wrapper.compteur = 0.

Écris un décorateur compteur_appels qui compte le nombre de fois qu'une fonction est appelée. La fonction décorée doit avoir un attribut .appels qui contient le compteur.

Exemple :
@compteur_appels
def dire_bonjour():
return 'Bonjour'

dire_bonjour.appels vaut 0
dire_bonjour()
dire_bonjour.appels vaut 1

Tests (2/4)

Compteur initialisé
@compteur_appels
def dire_bonjour():
    return 'Bonjour'
assert dire_bonjour.appels == 0
Après un appel
@compteur_appels
def add(a, b):
    return a + b
add(1, 2)
assert add.appels == 1

+ 0 tests cachés

Indices (3 disponibles)

solution.py