Préserver les docstrings lors de la décoration des fonctions
Votre ami vous a fait part d'un problème. Ils ont développé des décorateurs ingénieux et les ont intégrés aux fonctions de la bibliothèque open source sur laquelle ils travaillent. Cependant, lors de la réalisation de certains tests, ils ont constaté que toutes les docstrings avaient mystérieusement disparu de leurs fonctions décorées. Montrez à votre collègue comment préserver les docstrings et autres métadonnées lors de la rédaction de décorateurs.
Cet exercice fait partie du cours
Écrire des fonctions en Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)