Курс 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"
- Преобразование символов с помощью map
- Очистка входных данных
- Динамическая типизация в Python
- Работа со строками в Python
- Преобразование списка в словарь через генератор
- Поиск самого частого элемента
- Удаление элементов во время итерации
- Работа с файлами в Python
- Объединение коллекций в Python
- Список переменных в Python
- Функции map, filter, reduce
- Удаление эмодзи с помощью pandas
- Форматирование строк в Python.
- Пустой оператор pass в Python
- Библиотека sh: удобные команды терминала
- Добавление элементов в список: append() vs extend()
- Генерация чисел с range()
- Удаление знаков препинания в Python
- Получение локальных переменных в Python
- Логирование с Logzero: ротация файла
- Избегайте использования goto
- Определение относительного пути
- Обработка ошибок в Python
- Преобразование строки в число
- Удаление элементов по срезу
- Основы работы со списками
- Удаление символов новой строки в Python.
- Установка User-Agent в Python
- Комментарии в Python
- Метод eq для сравнения объектов
- Установка виртуального окружения Python
- Метод join() с набором
- Структуры данных в Python
- Python: Фильтрация списков с помощью filter()
- Monkey Patching в Python
- Вложенные функции в Python
- Проверка кортежей.
- Работа с часовыми поясами в Python
- Очистка вывода в Python
- Инверсия списка и строки
- Преобразование списков в словарь
- Вычисление разности множеств в Python
- Инициализация объекта
- Игра «Камень, ножницы, бумага» — Python
- Проверка окончания строки с помощью str.endswith()
- Поиск уникальных элементов строкой в Python
- Оболочка Python
- Использование двоеточия в Python















