CommencerCommencer gratuitement

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

Afficher le cours

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)
Modifier et exécuter le code