Sobes.tech
Junior — Middle

Можете ли објаснити шта је декоратор за методе класе у Python-у?

sobes.tech АИ

Одговор од АИ

Dekorator za metode klase u Pythonu je funkcija koja prihvata metodu klase i vraća modifikovanu verziju te metode. Omogućava dodavanje dodatnog ponašanja metodi bez izmene njenog izvornog koda.

Na primer, može se koristiti dekorator za logovanje poziva metode, proveru prava pristupa ili keširanje rezultata.

Primer jednostavnog dekoratora za metodu klase:

class MojaKlasa:
    def dekorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"Poziv metode {func.__name__}")
            return func(self, *args, **kwargs)
        return wrapper

    @dekorator
    def metoda(self, x):
        return x * 2

obj = MojaKlasa()
print(obj.metoda(5))  # Ispisaće poruku i rezultat 10

Ovde, @dekorator obavija metodu metoda, dodajući dodatni ispis prilikom poziva.