Курс 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"
- Форматирование строк в Python
- Ускорение обработки данных с %autoawait
- Замена подстроки
- Декораторы с @wraps
- Ускоренный импорт библиотек
- Создание генераторов в Python
- Функция reduce() в Python
- Любовь к Python
- Работа с модулем os в Python
- Python Поверхностное Копирование
- Объявление переменных в Python
- Нарезка списков в Python
- Передача аргументов в Python
- Python Аргументы по умолчанию
- Работа с очередями в Python
- Транспонирование 2D-массива с помощью zip
- Получение ID процесса
- TypedDict для kwargs в Python 3.12
- Печать в одной строке
- Пространство имен в Python
- Управление ресурсами в Python
- Метод invert для побитового отрицания
- Курсы Яндекс Практикум
- Оператор del в Python
- Метод append() для списка
- Метод bool() в Python
- Проверка ввода с помощью isdigit
- Переопределение метода __or__()
- Правила именования переменных
- Методы работы со строками в Python
- Глобальные переменные в Python
- Отображение HTML кода в Python
- Работа с множествами в Python
- Создание коллекций из выражения-генератора
- Логирование с Loguru
- Разбиение строки в Python
- Работа с enumerate()
- Поиск элементов BeautifulSoup
- kwargs в Python
- Конкатенация строк с помощью join()
- Работа с многоуровневыми словарями в Python
- Преобразование текста в нижний регистр
- Операции с комплексными числами
- PEP-401: оператор
- Открытие, чтение и закрытие файла
- Работа со случайными элементами
- Форматирование данных с помощью pprint















