Sobes.tech
Junior — Middle

Spiega il concetto di decoratori in Python e come vengono utilizzati per modificare il comportamento delle funzioni.

sobes.tech AI

Risposta dell'AI

I decoratori in Python sono funzioni che prendono un'altra funzione e restituiscono una nuova funzione con comportamento modificato o esteso, senza cambiare il codice sorgente della funzione decorata.

Vengono spesso usati per:

  • Registrare le chiamate
  • Controllare i permessi di accesso
  • Caching dei risultati
  • Misurare i tempi di esecuzione

Un esempio di decoratore semplice che mostra un messaggio prima e dopo la chiamata della funzione:

def decoratore(func):
    def wrapper(*args, **kwargs):
        print("Prima della chiamata")
        result = func(*args, **kwargs)
        print("Dopo la chiamata")
        return result
    return wrapper

@decoratore
def saluta(nome):
    print(f"Ciao, {nome}!")

saluta("Mondo")

L'output sarà:

Prima della chiamata
Ciao, Mondo!
Dopo la chiamata

In questo modo, i decoratori permettono di modificare dinamicamente il comportamento delle funzioni senza cambiarne il codice sorgente.