Каково назначение декоратора
Python
Senior
Без компании
Каково назначение декоратора
Ответы
Декоратор — это функция, которая принимает другую функцию и расширяет её поведение, не изменяя исходный код. Декораторы позволяют добавлять логирование, кеширование, проверку прав доступа и другие аспекты без модификации самой функции.
Пример:
```
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"Время выполнения: {time.time() - start:.2f} сек")
return result
return wrapper
@log_time
def calculate_sum(n):
return sum(range(n))
calculate_sum(10_000_000) # Выведет время выполнения
```
Декоратор `@log_time` автоматически замеряет время выполнения функции `calculate_sum`. Синтаксис `@decorator` — это синтаксический сахар для `func = decorator(func)`.