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 pratico interattivo
Prova a risolvere questo esercizio completando il 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)