Inizia subitoInizia 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 corso

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