Compteur
Vous travaillez sur une nouvelle application web et vous êtes curieux de savoir combien de fois chacune des fonctions qu'elle contient 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 à l'avenir pour déterminer s'il existe des sections de code que vous pourriez supprimer parce qu'elles ne sont plus utilisées par l'application.
Cet exercice fait partie du cours
Écrire des fonctions en Python
Instructions
- Appelez la fonction décorée et renvoyez le résultat.
- Renvoyez la nouvelle fonction décorée.
- Décorez
foo()
avec le décorateurcounter()
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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))