Junior — Middle
Môžete vysvetliť koncept dekorátorov v jazyku Python a ich použitie?
sobes.tech AI
Odpoveď od AI
Dekorátory v Pythone sú funkcie, ktoré prijímajú inú funkciu a vracajú novú funkciu s rozšíreným správaním, bez zmeny zdrojového kódu pôvodnej funkcie. Často sa používajú na pridanie ďalšej logiky, ako je zaznamenávanie, kontrola prístupových práv, kešovanie atď.
Príklad použitia:
def decorator(func):
def wrapper(*args, **kwargs):
print("Pred volaním funkcie")
result = func(*args, **kwargs)
print("Po volaní funkcie")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Ahoj, {name}!")
say_hello("Svet")
Výstup:
Pred volaním funkcie
Ahoj, Svet!
Po volaní funkcie
Decorátory umožňujú pohodlnú a čitateľnú úpravu správania funkcií alebo metód.