Sobes.tech
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ă.