Exercices Fonctions & Modules Decorateur compteur d'appels
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Decorateur compteur d'appels

Les fonctions en Python sont des objets. Ca veut dire que tu peux leur ajouter des attributs, comme a n'importe quel objet. Par exemple, apres avoir defini une fonction f, tu peux écrire f.compteur = 0 et ca marche.

Cette astuce est tres utile pour les decorateurs : tu peux stocker des informations sur la fonction wrapper elle-meme.

Écris un decorateur compter_appels qui compte le nombre de fois qu'une fonction est appelee. Le compteur doit etre accessible via l'attribut .appels de la fonction decoree.

Exemple :
@compter_appels
def ma_fonction():
return 42

ma_fonction.appels vaut 0
ma_fonction()
ma_fonction()
ma_fonction.appels vaut 2

Tests (3/4)

Compteur a zero
@compter_appels
def f():
    return 1
assert f.appels == 0
Apres un appel
@compter_appels
def f():
    return 1
f()
assert f.appels == 1
Apres trois appels
@compter_appels
def f(x):
    return x * 2
f(1)
f(2)
f(3)
assert f.appels == 3

+ 0 tests cachés

Indices (3 disponibles)

solution.py