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