Junior — Middle
Vysvětlete koncept dekorátorů v Pythonu a jak jsou používány k změně chování funkcí.
sobes.tech AI
Odpověď od AI
Dekorátory v Pythonu jsou funkce, které přijímají jinou funkci a vracejí novou funkci s upraveným nebo rozšířeným chováním, aniž by měnily zdrojový kód dekorované funkce.
Často se používají pro:
- Logování volání
- Kontrolu přístupových práv
- Ukládání výsledků do mezipaměti
- Měření doby běhu
Příklad jednoduchého dekorátoru, který vypíše zprávu před a po volání funkce:
def decorator(func):
def wrapper(*args, **kwargs):
print("Před voláním funkce")
result = func(*args, **kwargs)
print("Po volání funkce")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Ahoj, {name}!")
say_hello("Svět")
Výstup bude:
Před voláním funkce
Ahoj, Svět!
Po volání funkce
Tímto způsobem dekorátory umožňují dynamicky měnit chování funkcí, aniž by bylo nutné měnit jejich zdrojový kód.