ComenzarEmpieza gratis

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

Ver curso

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)
Editar y ejecutar código