Back to questions
Middle+
1
Расскажи про декораторы в Python
Companies where asked
devar
Answer from AI
sobes.tech AI
Декораторы в Python — это функции, которые принимают другую функцию и возвращают новую функцию с расширенным поведением, не изменяя исходный код декорируемой функции.
Они часто используются для:
- Логирования вызовов функций
- Проверки прав доступа
- Кэширования результатов
- Измерения времени выполнения
Пример простого декоратора:
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__}")
result = func(*args, **kwargs)
print(f"Функция {func.__name__} завершена")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Привет, {name}!")
say_hello("Мир")
Здесь @decorator — синтаксический сахар для say_hello = decorator(say_hello).
Декораторы могут быть параметризованными, принимать аргументы, и применяться к методам классов. Они помогают писать более чистый и повторно используемый код, отделяя дополнительную логику от основной функции.