Counter
Vous travaillez sur une nouvelle application web et vous souhaitez connaître le nombre d'appels de chacune de ses fonctions. Vous décidez donc de créer un décorateur qui ajoute un compteur à chaque fonction que vous décorez. Vous pourriez utiliser ces informations à l'avenir pour déterminer s'il existe des sections de code que vous pourriez supprimer, car elles ne sont plus utilisées par l'application.
Cet exercice fait partie du cours
Écrire des fonctions en Python
Instructions
- Appelez la fonction en cours de décoration et renvoyez le résultat.
- Renvoyez la nouvelle fonction décorée.
- Décorez
foo()à l'aide du 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))