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