Junior — Middle
83
В каких ситуациях и для чего используют декораторы в программировании?
Ответ от нейросети
sobes.tech AI
Декораторы в программировании применяются для динамического изменения или расширения поведения функций, методов или классов без изменения их исходного кода.
Основные ситуации использования:
- Логирование и отладка. Добавление автоматического логирования вызовов функций.
- Проверка прав доступа. Контроль доступа к методам или ресурсам.
- Кэширование результатов. Сохранение результатов функции для повторного использования.
- Измерение времени выполнения. Анализ производительности.
В Python декоратор — это функция, которая принимает другую функцию и возвращает новую функцию с расширенным поведением.
Пример простого декоратора для логирования вызовов:
def log_calls(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__} с аргументами {args} {kwargs}")
return func(*args, **kwargs)
return wrapper
@log_calls
def greet(name):
print(f"Привет, {name}!")
greet('Мир')
Вывод:
Вызов функции greet с аргументами ('Мир',) {}
Привет, Мир!
Таким образом, декораторы позволяют удобно и гибко модифицировать поведение кода.