Sobes.tech
Back to questions
Junior — Middle
82

Можете ли вы объяснить, что представляет собой декоратор для методов класса в Python?

Companies where asked
IT OneIT One

Answer from AI

sobes.tech AI

Декоратор для методов класса в Python — это функция, которая принимает метод класса и возвращает модифицированную версию этого метода. Он позволяет добавить дополнительное поведение к методу без изменения его исходного кода.

Например, можно использовать декоратор для логирования вызовов метода, проверки прав доступа или кэширования результатов.

Пример простого декоратора для метода класса:

class MyClass:
    def decorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"Вызов метода {func.__name__}")
            return func(self, *args, **kwargs)
        return wrapper

    @decorator
    def method(self, x):
        return x * 2

obj = MyClass()
print(obj.method(5))  # Выведет сообщение и результат 10

Здесь @decorator оборачивает метод method, добавляя дополнительный вывод при вызове.