Курс 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_function, она будет автоматически обернута в декоратор my_decorator, и дополнительный код будет выполнен до и после выполнения основной функции.
Использование декораторов позволяет повторно использовать код, улучшить читаемость и поддерживаемость программы. Они позволяют легко добавлять новую функциональность к существующим функциям, не изменяя их исходного кода. Декораторы часто используются для кеширования, логирования, валидации данных и других задач.
Другие уроки курса "Python"
- Названия столбцов в Python таблицах
- Функции высшего порядка в Python
- Переопределение унарных операторов
- Объединение списков в Python
- Сглаживание списка
- Работа с CSV файлами в Python
- Python: Splat-оператор и splatty-splat
- Объединение словарей в Python
- Pretty-printing JSON в Python
- Копирование объектов в Python
- Создание вложенного генератора
- Карта бомбоубежищ в Москве и Питере
- Основы работы со списками
- Операторы увеличения и уменьшения в Python
- Генераторы и сеты в Python
- Работа с deque из collections
- Базовые объекты Python
- Присвоение и ссылки
- Метод join() для объединения элементов строки
- Преобразование регистра символов
- Оператор деления для класса Rational
- Хеширование паролей с солью
- Оператор zip в Python
- Генератор списка в Python
- Итераторы в Python
- Асинхронное программирование с asyncio
- Распаковка элементов массива
- Избегайте использования goto
- Создание треугольника Паскаля
- Декоратор защиты анонимных пользователей
- Работа с контекст-менеджером «with»
- Декораторы в Python
- Регулярные выражения в Python
- Принципы программирования
- Использование html-скриптов в Jupyter Notebook
- Оператор is в Python
- Транспонирование 2D-массива с помощью zip
- Проверка версии Python
- CLI-инструмент howdoi
- Передача параметров в Python
- Метод join() для объединения элементов в строку.
- Удаление символов новой строки в Python.
- Реверс строки в Python
- Объединение списков в строку
- Определение объема памяти объекта
- Блок try-except-else
- Создание словарей в Python
- Округление банкира в Python















