Курс Python → Декораторы в Python
Декораторы в Python позволяют добавлять дополнительное поведение к уже существующим функциям, не изменяя их основной логики. Это особенно удобно, когда нужно добавить однотипное действие к нескольким функциям или когда требуется выполнить какие-то действия до и после вызова функции.
Примером может служить декоратор, который замеряет время выполнения функции. Для создания декоратора в Python используется синтаксис с символом @. Например, декоратор, который выводит время выполнения функции, может выглядеть следующим образом:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Время выполнения функции {func.__name__}: {end_time - start_time} секунд")
return result
return wrapper
@timer
def some_function():
# код функции
В данном примере декоратор timer измеряет время выполнения функции some_function и выводит результат на экран. При вызове функции some_function сначала будет выведено время выполнения, а затем будет выполнен основной код функции.
Помимо замера времени выполнения, с помощью декораторов можно реализовать множество других дополнительных функций, таких как логирование, кеширование, валидация параметров и многое другое. Использование декораторов делает код более чистым, модульным и понятным, так как каждая функция отвечает только за свою основную задачу, а дополнительное поведение вынесено в отдельные декораторы.
Таким образом, использование декораторов в Python позволяет значительно упростить и улучшить структуру кода, делая его более гибким и поддерживаемым. Рекомендуется ознакомиться с различными примерами использования декораторов и экспериментировать с ними для более глубокого понимания их работы.
Другие уроки курса "Python"
- Метод init в Python
- Возвращение нескольких значений через кортеж или класс
- Применение функции map() с лямбда-функциями
- Объединение словарей в Python
- Проверка памяти объекта
- Подсчет количества элементов в списке
- Работа с argparse
- Непрерывная проверка в Python
- Получение текущей директории
- Быстрый поиск кода
- Сложные типы данных в Python
- Обмен значений переменных в Python
- Уникальность ключей в словаре
- Создание функций с произвольным количеством аргументов
- Работа со временем в Python
- Метод __irshift__ для Python
- Переворот списка в Python
- Изменение переменной в Python: nonlocal
- Работа с путями в Python
- Метод remove() для удаления элемента из списка
- Округление дробей в Python
- Руководство по библиотеке pydantic
- Работа с кортежами в Python
- Создание словарей с defaultdict
- Особенности множеств в Python
- Оператор объединения словарей
- Работа с срезами в Numpy
- Многострочные строки в Python
- Удаление элементов по срезу
- Блок else в обработке исключений
- Создание файла с проверкой ошибки
- Оператор обр. импликации
- Проверка наличия элемента в списке
- Разделение строки с помощью split()
- Преобразование текста в речь с Python
- Хранение данных с помощью dataclasses
- Подсказки при вводе данных в Python
- Методы classmethod и staticmethod
- Назначение максимального и минимального значения переменной в Python.
- Вложенные циклы в Python
- Комплексные числа в Python
- Оператор assert в Python
- Python Метод sleep() из time
- Генераторы данных
- Сортировка данных в Python
- Нахождение самого длинного слова в списке с помощью max
- Операция += для списков
- Оптимизация параметров в Python















