Python: Decoratori

Questa documentazione fa parte della guida Imparare Python. Consulta la guida completa qui: Una guida completa su Python.

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre una soluzione Python cloud pronta all'uso, progettata per semplificare il processo di deployment:

  • Distribuisci la tua applicazione in produzione in pochi secondi con un semplice git push.
  • Utilizza il tuo nome di dominio, con configurazione automatica del certificato HTTPS per connessioni sicure gestite direttamente da noi.
  • Affidati a backup automatici, aggiornamenti con un clic e prezzi prevedibili, così puoi concentrarti sul tuo codice invece che sulla gestione dell'infrastruttura.
  • Approfitta di elevate prestazioni e sicurezza su un'infrastruttura privata e dedicata. Il tuo ambiente è isolato e protetto.

Risparmia tempo e semplifica il tuo workflow: il tuo codice può essere operativo con il Python cloud hosting di Stackhero in soli 5 minuti.

I decoratori ti permettono di estendere o modificare il comportamento di funzioni o classi senza cambiare il loro codice sorgente. Avvolgono un'altra funzione e aggiungono funzionalità prima o dopo l'esecuzione della funzione avvolta.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # fare qualcosa prima di chiamare la funzione
    result = func(*args, **kwargs)
    # fare qualcosa dopo aver chiamato la funzione
    return result
  return wrapper

@decorator_function
def my_function():
  # fare qualcosa

Esempi:

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # Output: Hello, John!