CommencezCommencez gratuitement

Préserver les docstrings lors de l'application de décorateurs

Votre collègue vient vous voir avec un problème. Iel a écrit de chouettes décorateurs et les a ajoutés aux fonctions de la bibliothèque libre sur laquelle iel travaille. Cependant, en exécutant des tests, iel a découvert que toutes les docstrings ont mystérieusement disparu des fonctions décorées. Montrez-lui comment préserver les docstrings et les autres métadonnées lorsqu'on écrit des décorateurs.

Cette activité fait partie du cours

Écrire des fonctions en Python

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def add_hello(func):
  def wrapper(*args, **kwargs):
    print('Hello')
    return func(*args, **kwargs)
  return wrapper

# Decorate print_sum() with the add_hello() decorator
____
def print_sum(a, b):
  """Adds two numbers and prints the sum"""
  print(a + b)
  
print_sum(10, 20)
# Define the docstring
print_sum_docstring = print_sum.____
print(print_sum_docstring)
Modifier et exécuter le code