Курс 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
- Установка и использование emoji
- Изменение элемента списка
- Сортировка данных в Python
- Синхронизация доступа к ресурсам
- Декораторы в Python
- Сериализация объектов в Python
- Протокол управления контекстом
- Компиляция регулярных выражений
- Методы работы со строками в Python
- Обмен значений переменных в Python
- Псевдонимы в Python
- Метод rsub для пользовательских чисел
- Бинарный поиск
- Измерение времени выполнения
- Функция divmod() в Python
- Работа с IP-адресами в Python
- Оптимизация создания строк
- Поиск всех индексов подстроки
- Поиск анаграмм с Counter
- Оптимизация гиперпараметров в Python
- Создание детектора плагиата
- Освоение Python
- Оператор (*) в Python
- Фильтрация последовательности
- Удаление пробелов методом translate()
- Операции с комплексными числами
- Управление виртуальными средами в Python
- Работа с f-строками 2.0
- Поиск простых чисел
- Проверка переменных окружения в Python
- Создание списка через цикл
- Форматирование строк в Python
- Красивый вывод списка
- Enum в Python
- Сортировка слиянием
- Логирование в Python
- Генераторы списков в Python
- Сортировка HTML по CSS-селектору
- Метод __call__ в Python
- Именованные аргументы в Python
- Замена символов в Python
- Мониторинг памяти с Pympler
- Метод join() для объединения строк
- Работа с необработанными строками
- Лямбда-функции в цикле















