Курс 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 3.x
- Модуль itertools: эффективная работа с итераторами
- Библиотека itertools: объединение списков
- Измерение времени выполнения кода с использованием time
- Сортировка элементов с OrderedDict
- Оператор in для проверки наличия элемента
- Управление фоновыми задачами в Python
- Модуль subprocess: запуск внешних команд
- Измерение времени выполнения кода
- Использование html-скриптов в Jupyter Notebook
- Добавление цвета в консоли
- Оператор is в Python
- Python Метод sleep() времени
- Группы исключений в Python
- Удаление и повторная вставка ключа в OrderedDict
- Работа с Telegram API на Python
- Печать месячного календаря
- Работа с комплексными числами в Python
- Хранение данных с помощью dataclasses
- Проверка типов с помощью isinstance
- Настройка Cron
- Метод Self в Python
- Функция rsplit() в Python
- Работа со строками в Python
- Разница между датами
- Генерация случайных чисел в Python
- Декораторы в Python
- Нахождение пересечения множеств
- Фильтрация элементов с помощью islice
- CSV строка разделение в Python
- Оператор (*) в Python
- Извлечение данных из JSON
- Разделение строки с регулярными выражениями
- Функции map() и reduce() в Python
- Работа с Path в Python
- Метод enumerate() в Python
- Работа с классами данных
- Обновление данных через PUT запрос
- Удаление ключей из словаря
- Создание словаря через dict comprehension
- Использование defaultdict в Python
- Ускорение выполнения кода в Python
- Хеширование паролей с солью
- Оператор обр. импликации
- Разделение строки с помощью split()















