Junior — Middle
Můžete vysvětlit, co je dekorátor pro metody třídy v Pythonu?
sobes.tech AI
Odpověď od AI
Dekorátor pro metody třídy v Pythonu je funkce, která přijímá metodu třídy a vrací upravenou verzi této metody. Umožňuje přidat k metodě dodatečné chování bez změny jejího zdrojového kódu.
Například lze použít dekorátor pro zaznamenávání volání metody, kontrolu oprávnění nebo ukládání výsledků do cache.
Příklad jednoduchého dekorátoru pro metodu třídy:
class MojeTřída:
def dekorator(func):
def wrapper(self, *args, **kwargs):
print(f"Volání metody {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@dekorator
def metoda(self, x):
return x * 2
obj = MojeTřída()
print(obj.metoda(5)) # Vypíše zprávu a výsledek 10
Zde @dekorator obaluje metodu metoda a přidává dodatečný výstup při jejím volání.