Preservare le docstring quando si decorano le funzioni
Un amico ti ha posto un problema. Ha scritto alcuni decorator molto utili e li ha aggiunti alle funzioni della libreria open-source su cui sta lavorando. Tuttavia, durante i test ha scoperto che tutte le docstring sono misteriosamente scomparse dalle funzioni decorate. Mostra al tuo amico come preservare le docstring e gli altri metadati quando si scrivono dei decorator.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)