Курс 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"Time taken: {end_time - start_time} seconds")
return result
return wrapper
@timer
def some_function():
# Код функции
В этом примере декоратор timer измеряет время выполнения функции some_function и выводит его на экран. Декоратор принимает функцию в качестве аргумента, создает внутреннюю функцию-обертку, которая заменяет вызываемую функцию и возвращает результат выполнения исходной функции.
Использование декораторов позволяет улучшить читаемость кода, избежать дублирования кода и повысить переиспользуемость функций. Они являются важной частью парадигмы программирования в Python и позволяют значительно упростить написание и поддержку кода.
Другие уроки курса "Python"
- Импорт и использование модулей в Python
- Определение объема памяти объекта
- Проверка строки на палиндром
- Декораторы в Python
- Перегрузка операторов в Python
- Разделение строк в Python
- Управление асинхронными задачами на Python.
- Получение имени функции с помощью inspect
- Использование двоеточия в Python
- Получение ID процесса
- Необязательные аргументы в Python
- Сохранение и загрузка модели в PyTorch
- Функция count() в Python
- Множественное наследование в Python
- Генератор данных в Keras
- Concrete Paths — метод .with_suffix()
- Поиск файлов по шаблону
- Замена переменных в Python
- Управление ресурсами с контекстными менеджерами
- Подсчет элементов в Python
- Лямбда-функции для min/max
- Ввод нескольких значений
- Обновление множества в Python
- Логический оператор «and» в Python
- Работа с аргументами командной строки в Python
- Оператор is в Python
- PrettyTable: создание таблицы
- Создание .exe файла с pyinstaller
- Отрицательные индексы списков
- Создание класса очереди
- Операторы присваивания в Python
- Проекты на Python
- Преобразование текста в нижний регистр
- Определение основы слова с showballstemmer
- Изменение элемента списка
- Переопределение метода xor в Python
- Работа с комплексными числами
- Создание уникального проекта
- Приоритет операций в Python
- Объединение словарей в Python
- Работа со случайными элементами
- Поиск индекса элемента
- Функция zip() в Python
- Модуль subprocess: запуск внешних команд
- Наиболее частотные элементы с помощью Counter
- Создание веб-приложения с Flask















