Курс 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
- Сравнение def и lambda функций в Python
- Декораторы в Python
- Управление ресурсами в Python
- Блок try…finally в Python
- Переименование файлов в Python
- Отделение звука от видео
- Python: отличительная особенность — отступы
- Оптимизация поиска в словарях
- Делегирование в Python
- Список импортированных модулей в Python
- Кортежи в Python: особенности и преимущества
- Объединение строк с помощью метода join
- Безопасные SQL-запросы в Python 3.11
- Функция print() — вывод информации
- Фильтрация списка от «ложных» значений
- Создание словарей в Python
- Оператор объединения словарей
- Наследование в программировании
- Моржовый оператор в Python 3.8
- Измерение времени выполнения с помощью time
- Принципы LSP и ISP в Python
- Реверс строки и списка в Python.
- Работа с YAML в Python: PyYAML.
- Цикл while в Python
- Обработка ошибок в Python
- Работа с enumerate()
- OrderedDict — упорядоченный словарь
- Генератор списка в Python
- Управление контекстом с помощью декоратора contextmanager
- Регистрация на хакатоне
- Основы работы со списками
- Переопределение метода divmod
- Поиск email
- Concrete Paths в Python
- Создание функций высшего порядка
- Namedtuple в Python
- Работа со слайсами
- Добавление цвета в консоли
- Принцип одной функции
- Метод eq для сравнения объектов
- Преобразование range в итератор
- Оператор in в Python















