Junior — Middle
Môžete vysvetliť, čo je dekorátor pre metódy triedy v Pythone?
sobes.tech AI
Odpoveď od AI
Dekorátor pre metódy triedy v Pythone je funkcia, ktorá prijíma metódu triedy a vracia upravenú verziu tejto metódy. Umožňuje pridať dodatočné správanie k metóde bez zmeny jej zdrojového kódu.
Napríklad, môžete použiť dekorátor na zaznamenávanie volaní metódy, kontrolu oprávnení alebo kešovanie výsledkov.
Príklad jednoduchého dekorátora pre metódu triedy:
class MojaTrieda:
def dekorator(func):
def wrapper(self, *args, **kwargs):
print(f"Volanie metódy {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@dekorator
def metoda(self, x):
return x * 2
obj = MojaTrieda()
print(obj.metoda(5)) # Vypíše správu a výsledok 10
Tu, @dekorator obalí metódu metoda a pridá dodatočný výstup pri jej volaní.