Junior — Middle
Explicați conceptul de decoratori în Python și modul în care sunt folosiți pentru a modifica comportamentul funcțiilor.
sobes.tech AI
Răspuns de la AI
Decoratoarele în Python sunt funcții care acceptă o altă funcție și returnează o funcție nouă cu comportament modificat sau extins, fără a schimba codul sursă al funcției decorate.
Ele sunt adesea folosite pentru:
- Înregistrarea apelurilor
- Verificarea drepturilor de acces
- Caching-ul rezultatelor
- Măsurarea timpului de execuție
Un exemplu simplu de decorator care afișează un mesaj înainte și după apelarea funcției:
def decorator(func):
def wrapper(*args, **kwargs):
print("Înainte de apelarea funcției")
result = func(*args, **kwargs)
print("După apelarea funcției")
return result
return wrapper
@decorator
def spune_bună(nume):
print(f"Salut, {nume}!")
spune_bună("Lume")
Ieșirea va fi:
Înainte de apelarea funcției
Salut, Lume!
După apelarea funcției
Astfel, decoratorii permit modificarea dinamică a comportamentului funcțiilor fără a le schimba codul sursă.