Conservar docstrings al decorar funciones
Tu amigo ha acudido a ti con un problema. Han escrito algunos decoradores ingeniosos y los han añadido a las funciones de la biblioteca de código abierto en la que han estado trabajando. Sin embargo, estaban realizando algunas pruebas y descubrieron que todos los docstrings habían desaparecido misteriosamente de sus funciones decoradas. Muéstrale a tu amigo cómo conservar los docstrings y otros metadatos al escribir decoradores.
Este ejercicio forma parte del curso
Escribir funciones en Python
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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)