Back to questions
Junior — Middle
66
Опыт использования паттерна-декоратора в Python и его применения в реальных проектах
Answer from AI
sobes.tech AI
Паттерн-декоратор в Python позволяет динамически расширять функциональность объектов без изменения их исходного кода. В Python это часто реализуется с помощью функций-декораторов.
Пример: логирование вызовов функции.
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Время выполнения {func.__name__}: {end - start:.4f} секунд")
return result
return wrapper
@timer
def compute(x):
return sum(i*i for i in range(x))
compute(100000)
В реальных проектах декораторы применяются для кэширования, проверки прав доступа, логирования и других аспектов, позволяя отделить основную логику от вспомогательных функций.