Compteur
Vous travaillez sur une nouvelle application Web et vous êtes curieux de savoir combien de fois chacune de ses fonctions est appelée. Vous décidez donc d'écrire un décorateur qui ajoute un compteur à chaque fonction que vous décorez. Vous pourrez utiliser ces informations plus tard pour déterminer s'il y a des sections de code que vous pourriez retirer parce qu'elles ne sont plus utilisées par l'application.
Cette activité fait partie du cours
Écrire des fonctions en Python
Instructions de l’exercice
- Appelez la fonction à décorer et retournez le résultat.
- Retournez la nouvelle fonction décorée.
- Décorez
foo()avec le décorateurcounter().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def counter(func):
def wrapper(*args, **kwargs):
wrapper.count += 1
# Call the function being decorated and return the result
return ____
# Set count to 0 to initialize call count for each new decorated function
wrapper.count = 0
# Return the new decorated function
____
# Decorate foo() with the counter() decorator
____
def foo():
print('calling foo()')
foo()
foo()
print('foo() was called {} times.'.format(foo.count))