Встречается на собеседованиях • сегодня
Зачем нужен декоратор, если можно написать функцию в не класса
Декораторы позволяют добавлять функциональность к существующим функциям/методам без изменения их кода. Они полезны для:
- Повторного использования кода (например, логирование, проверка прав)
- Разделения ответственности (основная логика vs. дополнительная)
- Чистого кода (избегаем дублирования)
Пример с декоратором:
python
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"Time: {time.time() - start:.2f}s")
return result
return wrapper
@log_time
def calculate():
return sum(range(10**6))Без декоратора пришлось бы добавлять логику в саму функцию или вызывать её через обёртку вручную. Декораторы делают это элегантнее и поддерживают принцип DRY.

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