ComeçarComece gratuitamente

Preservação de docstrings ao decorar funções

Seu amigo veio até você com um problema. Eles escreveram alguns decoradores bacanas e os adicionaram às funções na biblioteca de código aberto em que estão trabalhando. No entanto, eles estavam executando alguns testes e descobriram que todos os docstrings desapareceram misteriosamente de suas funções decoradas. Mostre a seu amigo como preservar docstrings e outros metadados ao escrever decoradores.

Este exercício faz parte do curso

Como escrever funções em Python

Ver Curso

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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 e executar código