Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет модифицировать поведение функций без изменения их кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Это позволяет добавлять дополнительный код до и после выполнения целевой функции, а также изменять ее параметры и возвращаемое значение.
Для создания декоратора в Python необходимо определить функцию, которая принимает целевую функцию в качестве аргумента. Внутри этой функции можно определить любую логику, которая будет выполняться до и после вызова целевой функции. Затем необходимо вернуть новую функцию, которая будет заменять исходную функцию при применении декоратора.
def my_decorator(func):
def wrapper():
print("Дополнительный код до выполнения функции")
func()
print("Дополнительный код после выполнения функции")
return wrapper
@my_decorator
def my_function():
print("Основной код функции")
В данном примере мы создаем декоратор my_decorator, который выводит сообщения до и после выполнения функции my_function. При применении декоратора с помощью синтаксиса @my_decorator, вызов функции my_function будет автоматически заменен на вызов функции my_decorator(my_function), изменяя ее поведение.
Использование декораторов позволяет улучшить читаемость и поддерживаемость кода, разделяя логику функций от дополнительной функциональности. Они также позволяют повторно использовать код и упрощают внесение изменений в функциональность программы.
Другие уроки курса "Python"
- Функции в Python: создание и вызов
- Многопроцессорное программирование в Python
- Списки: объединение, изменение
- Создание пользовательской коллекции в Python
- Метод get() в Python
- Декораторы для регистрации функций
- Работа с множествами в Python
- Импорт с альтернативным именем
- Основные функции и модули Python
- Динамическая типизация в Python
- Проверка существования переменной с оператором :=
- Работа с контекстным менеджером Pool
- Подробная информация о %pinfo
- Переопределение метода __and__
- Удаление дубликатов из списка с помощью dict.fromkeys
- Преобразование кортежа в словарь.
- Именованные срезы в Python
- TON Smart Challenge #2: участие и подготовка
- Форматирование кода на Python
- Экспорт данных в файл.
- Сложение матриц в NumPy
- Измерение времени выполнения кода с помощью time
- Копирование объектов в Python
- Добавление цвета в консоли
- Документирование функций в Python
- Метод __getitem__ в Python
- Статическая типизация в Python
- Работа с библиотекой xkcd
- Руководство по библиотеке pydantic
- Создание генераторов в Python
- Анализ кода — Python
- Работа с Event() в threading
- Отображение графиков в Jupyter с Matplotlib
- Автоматизация скриптов на AWS Lightsail.
- Функциональное программирование в Python
- Основы работы со списками
- Глобальные переменные в Python
- Транспонирование матрицы в Python
- PrettyTable: создание таблицы
- Счетчик в Python: most_common()
- Бесконечные списки в Python
- Работа с кортежами в Python
- Замена символов в Python
- Удаление и повторная вставка ключа в OrderedDict















