Курс 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"

  1. Печать месячного календаря
  2. Многострочные комментарии в Python
  3. Работа с очередями в Python
  4. Именованные срезы в Python
  5. Python enumerate() для работы с индексами
  6. Обработка ошибки IndexError
  7. Сравнение строк в Python
  8. Управление IP-адресами через прокси
  9. Именованные аргументы в Python
  10. Цикл for в Python
  11. Получение размера объекта с sys.getsizeof()
  12. Блок try…finally в Python
  13. Экспорт функций в Python
  14. Декораторы для регистрации функций
  15. Метод count() для списка
  16. PrettyTable: создание таблицы
  17. Работа со строками в Python
  18. ChainMap избыточные ключи
  19. Метод lt для сортировки объектов
  20. Оптимизация памяти с __slots__
  21. Работа с itertools
  22. Вывод с переменной через запятую
  23. Обновление ключей в Python
  24. Различия символов в Python
  25. Генерация случайных чисел в Python
  26. Нарезка списков в Python
  27. Функция zip() — объединение последовательностей
  28. Переворот списка в Python
  29. Проверка списка: any() и all()
  30. Работа с кортежами в Python
  31. Многопроцессорное программирование в Python
  32. Подсказки при вводе данных в Python
  33. Вывод сложных структур данных с помощью pprint
  34. TypedDict для kwargs в Python 3.12
  35. Математические функции в Python
  36. Глубокое копирование объектов
  37. Объединение списков с использованием itertools.chain
  38. Просмотр файла в Jupyter Noteboo
  39. Работа с argparse
  40. Явный импорт переменных
  41. Создание множества в Python
  42. Сортировка данных с лямбда-функциями
  43. Функции map, filter, reduce
  44. Выражения-генераторы в Python
  45. Структурирование именованных констант
  46. Проблемы с именами переменных
  47. Анонимные функции в Python

Marketello читают маркетологи из крутых компаний