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
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)