Junior — Middle
Puteți explica ce reprezintă un decorator pentru metodele de clasă în Python?
sobes.tech AI
Răspuns de la AI
Un decorator pentru metodele de clasă în Python este o funcție care acceptă o metodă de clasă și returnează o versiune modificată a acesteia. Acesta permite adăugarea de comportamente suplimentare metodei fără a modifica codul său sursă.
De exemplu, se poate folosi un decorator pentru a înregistra apelurile metodei, a verifica drepturile de acces sau a stoca rezultatele în cache.
Exemplu de decorator simplu pentru o metodă de clasă:
class ClasaMea:
def decorator(func):
def wrapper(self, *args, **kwargs):
print(f"Apelare metodă {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@decorator
def metoda(self, x):
return x * 2
obiect = ClasaMea()
print(obiect.metoda(5)) # Va afișa un mesaj și rezultatul 10
Aici, @decorator înfășoară metoda metoda, adăugând o ieșire suplimentară la apel.