Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, kas ir dekorators klasēm Python?

sobes.tech AI

Atbilde no AI

Python klases metožu dekorators ir funkcija, kas pieņem klases metodi un atgriež tās modificētu versiju. Tas ļauj pievienot papildu uzvedību metodei, nemainot tās avota kodu.

Piemēram, var izmantot dekoratoru, lai reģistrētu metodes izsaukumus, pārbaudītu piekļuves tiesības vai kešētu rezultātus.

Vienkārša klases metodes dekoratora piemērs:

class ManaKlase:
    def dekorators(func):
        def wrapper(self, *args, **kwargs):
            print(f"Metodes {func.__name__} izsaukums")
            return func(self, *args, **kwargs)
        return wrapper

    @dekorators
    def metode(self, x):
        return x * 2

obj = ManaKlase()
print(obj.metode(5))  # Izvadīs ziņojumu un rezultātu 10

Šeit, @dekorators ietver metodi metode un pievieno papildu izvadi, izsaukuma laikā.