Preservando docstrings ao decorar funções
Seu amigo veio até você com um problema. Ele escreveu alguns decoradores bem legais e os adicionou às funções da biblioteca open source em que está trabalhando. Porém, ao rodar alguns testes, descobriu que todas as docstrings desapareceram das funções decoradas. Mostre ao seu amigo como preservar docstrings e outros metadados ao escrever decoradores.
Este exercício faz parte do curso
Como escrever funções em Python
Exercício interativo prático
Experimente este exercício completando 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)