Курс 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"
- Уникальные значения из списка
- Поиск индексов в списке
- Оператор Walrus в Python
- Работа с deque в Python
- Безопасные SQL-запросы в Python 3.11
- Генерация чисел с range()
- Генераторы списков в Python
- Проверка элементов списка условием
- Область видимости переменных
- Повторение элементов в Python
- Мощь вложенных функций в Python
- Метод __int__ в Python
- Генераторы в Python
- Генераторы в Python
- Извлечение новостей с newspaper3k
- Объединение списков в строку
- Метод split() в Python
- Создание даты из строки ISO
- Работа с необработанными строками
- Замыкания в Python
- Создание объекта времени
- Счетчик в Python: most_common()
- Изменение логики работы с временем
- Закрытие файла в Python
- Модуль itertools: эффективная работа с итераторами
- Основы Python за 14 дней
- Генераторы списков в Python
- Атрибуты класса и экземпляра
- Поиск подстроки в строке
- Карта бомбоубежищ в Москве и Питере
- Принципы LSP и ISP в Python
- Функция zip() — объединение последовательностей
- Генератор бросков кубиков
- Переопределение метода xor в Python
- Форматирование строк в Python
- Вставка переменных в шаблоны Flask
- Метод ifloordiv для пользовательских классов
- Необязательные аргументы в Python
- Python reversed() функция
- Сохранение Unicode в JSON
- Частичное применение функций в Python
- Реверс строки и списка в Python.
- Получение идентификатора объекта в памяти
- Библиотека Rich: форматирование текста
- Проблемы с dict в Python















