Курс 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
- Создание таблиц в терминале с PrettyTable
- Вызов функций по строке в Python.
- Декораторы в Python
- Отладка утечек памяти в Python
- Отображение графиков в Jupyter с Matplotlib
- Получение текущей даты в Python
- Работа с очередями в Python
- Инверсия списка и строки
- Вложенные функции в Python
- Работа с коллекциями Python
- Генераторы в Python
- Отправка HTTP-запросов с User-Agent
- Создание объекта времени
- Метод __imod__ для Python
- Модуль pprint
- Метод rmatmul для обратного матричного умножения
- Обратный список чисел
- Разделение функций на этапы
- Установка и загрузка Instaloader
- Функция print() — вывод информации
- Фильтрация списка чисел
- Декораторы в Python
- Обработка ошибок в Python
- Функции высшего порядка в Python
- Python Enum Weekday Usage
- Аргумент по умолчанию
- Python: цикл for и оператор присваивания
- Извлечение аудио из видео
- Библиотека sh: использование команд bash в Python
- Работа с множествами в Python
- Howdoi — получение ответов из терминала
- Декораторы с @wraps
- Принцип одной функции
- Python: библиотеки и функции
- Добавление Progressbar в Python
- Python 3.12: переиспользование кавычек
- Декораторы в Python
- Использование функции enumerate()
- Список переменных в Python
- Оптимизация строк в Python
- Работа со строками
- Приближение чисел в Python
- Удаление элементов во время итерации
- Генератор надежных паролей
- Генератор бросков кубиков
- Работа с deque в Python















