Préserver les docstrings lors de la décoration des fonctions
Votre ami vient vous voir avec un problème. Ils ont écrit quelques décorateurs astucieux et les ont ajoutés aux fonctions de la bibliothèque open-source sur laquelle ils ont travaillé. Cependant, en effectuant des tests, ils ont découvert que toutes les chaînes de caractères avaient mystérieusement disparu de leurs fonctions décorées. Montrez à votre ami comment préserver les chaînes de documents et autres métadonnées lors de l'écriture 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)