Junior — Middle
Puoi spiegare cos'è un decoratore per i metodi di classe in Python?
sobes.tech AI
Risposta dell'AI
Un decoratore per metodi di classe in Python è una funzione che prende un metodo di classe e restituisce una versione modificata di questo metodo. Permette di aggiungere comportamenti aggiuntivi al metodo senza modificare il suo codice sorgente.
Ad esempio, si può usare un decoratore per registrare le chiamate al metodo, verificare i permessi di accesso o memorizzare i risultati nella cache.
Esempio di un decoratore semplice per un metodo di classe:
class MiaClasse:
def decoratore(func):
def wrapper(self, *args, **kwargs):
print(f"Chiamata al metodo {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@decoratore
def metodo(self, x):
return x * 2
obj = MiaClasse()
print(obj.metodo(5)) # Mostrerà un messaggio e il risultato 10
Qui, @decoratore avvolge il metodo metodo, aggiungendo un output aggiuntivo durante la chiamata.