IniziaInizia gratis

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

Visualizza il corso

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)
Modifica ed esegui il codice