Курс Python → Декораторы в Python
Декораторы в Python — это механизм языка, который позволяет изменять поведение функций или методов без изменения их кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Декораторы могут использоваться для добавления функциональности к существующему коду, такой как логирование, кэширование, проверка аутентификации и многое другое.
Пример простого декоратора в Python:
def my_decorator(func):
def wrapper():
print("До вызова функции")
func()
print("После вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет, мир!")
say_hello()
В этом примере мы создаем декоратор `my_decorator`, который выводит сообщения до и после вызова функции `say_hello`. При использовании декоратора `@my_decorator` перед определением функции `say_hello`, мы применяем его к функции `say_hello`.
Библиотеки, такие как Flask и aiogram, активно используют декораторы для управления маршрутами и обработчиками сообщений. Например, в Flask декоратор `@app.route(‘/’)` определяет маршрут для обработки HTTP-запросов к корневому URL. Это позволяет легко создавать веб-приложения с помощью Python.
Использование декораторов может значительно упростить код, делая его более читаемым и модульным. Они позволяют добавлять функциональность к функциям без изменения их исходного кода. При разработке с использованием декораторов важно помнить об их порядке применения и возможных побочных эффектах, чтобы избежать нежелательного поведения программы.
Другие уроки курса "Python"
- Создание таблиц в терминале с PrettyTable
- Очистка вывода в Python
- Экспорт данных с помощью writefile
- Оболочка Python
- Создание списков в Python
- Оператор in в Python
- Секреты Python
- Оператор is в Python
- TON Smart Challenge #2: участие и подготовка
- Извлечение статей с newspaper3k
- Работа с Path в Python
- Проблемы с именами переменных
- Модуль pprint: улучшение вывода данных
- Сравнение строк в Python
- Метод splitlines() для разделения строк
- Оптимизация гиперпараметров в Python
- Удаление falsy-значений из списка с помощью filter
- Именованные срезы в Python
- Ускорение обработки данных с %autoawait
- Работа с индексами списков
- Метод lt для сортировки объектов
- Библиотека Rich: форматирование текста
- Блок else в Python
- Открытие и запись файлов
- Генераторы в Python
- Выражения-генераторы в Python
- Просмотр внешних файлов в %pycat
- Создание копии списка в Python
- Генератор списка с условием if
- Структура строк в Python
- Изменяемые и неизменяемые объекты
- Определение локальных переменных в Python
- Удаление и повторная вставка ключа в OrderedDict
- Печать календаря
- Срез списка в Python
- Транспонирование 2D-массива с помощью zip
- Форматирование объектов с модулем pprint
- Разница между датами
- Методы HTTP запросов в Flask
- Форматирование даты с strftime()
- Определение объема памяти объекта
- Удаление дубликатов из списка с помощью dict.fromkeys
- Вложенные генераторы в Python
- Метод __index__ в Python
- Использование функции enumerate()















