Курс 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"
- Функция map() в Python
- Метод __irshift__ для побитового сдвига вправо
- Нахождение пересечения множеств
- Глобальные переменные в Python
- Оптимизация гиперпараметров в Python
- Генераторы по генератору
- Проверка списка: any() и all()
- Создание объекта времени
- Использование html-скриптов в Jupyter Notebook
- Библиотека Emoji: использование смайлов в Python
- Переменные в Python: сокращение гласных
- Логирование с Logzero
- Оператор (*) в Python
- Основы работы с os
- Метод invert для побитового отрицания
- Многострочные комментарии в Python
- Codecademy в Telegram
- Транспонирование 2D-массива с помощью zip
- Создание GUI на Tkinter
- Проверка индексов коллекции
- Работа с процессами в Python
- SciPy: широкий функционал для математических операций
- Быстрый поиск кода
- Оператор in для проверки наличия элемента
- Создание тестовых данных с Faker
- Метод округления чисел
- Карта бомбоубежищ в Москве и Питере
- Декоратор Property в Python
- Курсы Яндекс Практикум
- Оптимизация создания строк
- Поиск с библиотекой Google
- Исключение NotImplementedError
- Реализация операции -= для пользовательского класса
- Разделение строк методом split()
- Создание словаря через dict comprehension
- Изменение списка срезом
- Работа с модулем random
- Фильтрация списка от «ложных» значений
- Проверка надежности пароля на Python
- Модуль pprint: улучшение вывода данных
- split() — разделение строки
- Функция zip() для объединения списков
- Оператор «is not» в Python
- Декодирование байтов в строку















