Курс Python → Декораторы с аргументами в Python
Декораторы в Python — это специальные функции, которые позволяют модифицировать поведение других функций или методов. Они позволяют добавлять дополнительную логику к функциям без изменения их кода. Декораторы могут быть использованы для различных задач, таких как логирование, кэширование, аутентификация и многое другое.
Однако, в некоторых случаях декораторам могут потребоваться аргументы. Например, когда требуется передать в декоратор какие-то данные или параметры для его работы. Это особенно удобно, когда нужно настроить поведение декоратора в зависимости от конкретной ситуации.
Рассмотрим пример с использованием декоратора app.route из веб-фреймворка Flask. Этот декоратор используется для создания маршрутов веб-приложения. Он может принимать аргументы, такие как URL-адрес маршрута и методы HTTP-запросов, которые должны обрабатываться этим маршрутом.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Привет, мир!'
if __name__ == '__main__':
app.run()
В этом примере мы создаем маршрут ‘/’ с помощью декоратора app.route. Мы передаем ему URL-адрес ‘/’ в качестве аргумента, чтобы указать, что данный маршрут должен обрабатывать запросы к корневому URL-адресу. Затем мы определяем функцию index, которая будет вызываться при обращении к этому маршруту и возвращает строку ‘Привет, мир!’. При запуске приложения Flask этот маршрут будет доступен по адресу http://localhost:5000/.
Другие уроки курса "Python"
- Печать месячного календаря
- Многострочные комментарии в Python
- Работа с очередями в Python
- Именованные срезы в Python
- Python enumerate() для работы с индексами
- Обработка ошибки IndexError
- Сравнение строк в Python
- Управление IP-адресами через прокси
- Именованные аргументы в Python
- Цикл for в Python
- Получение размера объекта с sys.getsizeof()
- Блок try…finally в Python
- Экспорт функций в Python
- Декораторы для регистрации функций
- Метод count() для списка
- PrettyTable: создание таблицы
- Работа со строками в Python
- ChainMap избыточные ключи
- Метод lt для сортировки объектов
- Оптимизация памяти с __slots__
- Работа с itertools
- Вывод с переменной через запятую
- Обновление ключей в Python
- Различия символов в Python
- Генерация случайных чисел в Python
- Нарезка списков в Python
- Функция zip() — объединение последовательностей
- Переворот списка в Python
- Проверка списка: any() и all()
- Работа с кортежами в Python
- Многопроцессорное программирование в Python
- Подсказки при вводе данных в Python
- Вывод сложных структур данных с помощью pprint
- TypedDict для kwargs в Python 3.12
- Математические функции в Python
- Глубокое копирование объектов
- Объединение списков с использованием itertools.chain
- Просмотр файла в Jupyter Noteboo
- Работа с argparse
- Явный импорт переменных
- Создание множества в Python
- Сортировка данных с лямбда-функциями
- Функции map, filter, reduce
- Выражения-генераторы в Python
- Структурирование именованных констант
- Проблемы с именами переменных
- Анонимные функции в Python















