Définition d'un décorateur
Votre collègue a travaillé sur un décorateur qui affiche un message « before » avant l'appel de la fonction décorée et un message « after » après l'appel de la fonction décorée. Il ne se rappelle pas comment fonctionne l'encapsulation de la fonction décorée. Aidez-le en complétant son décorateur print_before_and_after().
Cet exercice fait partie du cours
Écrire des fonctions en Python
Instructions
- Appelez la fonction décorée et transmettez-lui les arguments positionnels
*args. - Renvoyez la nouvelle fonction décorée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)