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.