Définition d'un décorateur
Votre ami a travaillé sur un décorateur qui imprime un message "avant" avant l'appel de la fonction décorée et un message "après" après l'appel de la fonction décorée. Ils ont du mal à se souvenir de la manière dont la fonction de décoration est censée fonctionner. Aidez-les en terminant leur 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)