Встречается на собеседованиях • сегодня
Используешь ли декораторы в работе
Да, декораторы — мощный инструмент Python для модификации поведения функций/методов без изменения их кода. Часто применяю их для:
- Логирования
python
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"{func.__name__} took {time.time() - start:.2f}s")
return result
return wrapper
@log_time
def heavy_calculation():
time.sleep(1)
text
2. **Авторизации/валидации**
```python
def check_auth(func):
def wrapper(request, *args, **kwargs):
if not request.user.is_authenticated:
raise PermissionError
return func(request, *args, **kwargs)
return wrapper- Кэширования (например,
@functools.lru_cache) - Ретриев (библиотеки типа
@retry)
Важно:
- Декораторы могут усложнить отладку (используйте
functools.wrapsдля сохранения метаданных). - Вложенные декораторы выполняются сверху вниз (
@A @B def foo→A(B(foo))).

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