Встречается на собеседованиях • сегодня
Можно ли написать декоратор для метода класса в Python
Да, можно. Декораторы для методов класса работают так же, как и для обычных функций. Однако нужно учитывать, что методы класса первым аргументом принимают self (или cls для @classmethod).
Пример декоратора для метода класса:
python
def log_method(func):
def wrapper(self, *args, **kwargs):
print(f"Calling {func.__name__} with args: {args}, kwargs: {kwargs}")
return func(self, *args, **kwargs)
return wrapper
class MyClass:
@log_method
def my_method(self, x, y):
return x + y
obj = MyClass()
obj.my_method(2, 3) # Выведет: Calling my_method with args: (2, 3), kwargs: {}Для статических методов (@staticmethod) декоратор будет работать аналогично обычной функции, так как они не принимают self или cls.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы