Курс 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. Запуск Python из интерпретатора
  2. Управление ресурсами с контекстными менеджерами
  3. Применение команды break
  4. Экранирование символов в Python
  5. Выход из профиля в Django
  6. Работа с часовыми поясами в Python.
  7. Поиск анаграмм с Counter
  8. Перебор элементов списка в Python
  9. Отладка в командной строке
  10. Defaultdict в Python
  11. Оператор «not» в Python
  12. Любовь к Python
  13. Аргументы *args и **kwargs
  14. Метод rmatmul для обратного матричного умножения
  15. Тест скорости набора текста на Python
  16. Деление в Python
  17. Работа с изображениями PIL
  18. Работа с необработанными строками
  19. Форматирование строк в Python
  20. Отладка регулярных выражений в Python
  21. Методы classmethod и staticmethod
  22. Управление памятью в numpy.
  23. Модуль Operator в Python
  24. Преобразование чисел в слова
  25. Срезы в Python
  26. Срезы в Numpy
  27. Непрерывная проверка в Python
  28. Переопределение метода __and__
  29. Списковое включение в Python
  30. Mad Libs Generator
  31. Преобразование кортежа в словарь.
  32. Метод pop() списка
  33. Преобразование числа в восьмеричную строку
  34. ChainMap избыточные ключи
  35. Цепные операции в Python
  36. Извлечение аудио из видео
  37. Блок try-except-else
  38. JSON-esque в Python
  39. Возвращение нескольких значений через кортеж или класс
  40. Ошибка NotImplemented в Python
  41. Установка и использование Logzero
  42. Измерение времени выполнения кода
  43. Список методов и атрибутов
  44. Форматирование строк в Python

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