Встречается на собеседованиях • сегодня
Что может быть декоратором
Декоратором в Python может быть любой вызываемый объект (callable), который принимает функцию и возвращает функцию. Основные варианты:
- Функция - самый распространённый случай:
python
def my_decorator(func):
def wrapper(*args, **kwargs):
print("До вызова функции")
result = func(*args, **kwargs)
print("После вызова функции")
return result
return wrapper- Класс (если он реализует метод
__call__):
python
class DecoratorClass:
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print("Декоратор-класс")
return self.func(*args, **kwargs)-
Метод класса (если используется с
@classmethodили@staticmethod) -
Лямбда-функция (но с ограничениями, так как может содержать только одно выражение)
Декоратор должен принимать функцию и возвращать функцию (или другой вызываемый объект). В Python 3.9+ также можно использовать @ с любым выражением, которое вычисляется в декоратор.

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