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

  1. Удаление ссылок в Python
  2. Создание инструмента обнаружения плагиата
  3. Объединение словарей в Python
  4. Функция enumerate() — Python
  5. Python: динамическая типизация и проверка типов
  6. Обработка исключений в Python 3
  7. Стать Python-разработчиком
  8. Использование функции enumerate()
  9. Оператор break в Python
  10. Лямбда-функции в цикле
  11. Структура данных deque в Python
  12. Проверка типа объекта в Python
  13. Декодирование строк в Python
  14. Условное добавление элементов в список
  15. Оператор += для объединения строк
  16. Генерация ключей RSA
  17. Создание итерируемых объектов
  18. Циклы в Python
  19. Анонимные функции в Python
  20. Метод join() с набором
  21. Метод ipow для возведения в степень
  22. Генерация тестовых данных с factory_boy
  23. Передача неизвестных аргументов в Python.
  24. Объединение словарей в Python
  25. Оптимизация методов в Python 3.7
  26. Добавление элемента к кортежу
  27. Работа с комплексными числами
  28. *args и **kwargs в Python
  29. Глобальные переменные в Python
  30. Склеивание строк без циклов
  31. Метод index() в Python
  32. Работа со словарями Python
  33. Абстракции словарей и множеств в Python
  34. Установка и обучение ChatterBot
  35. Оператор assert в Python
  36. Разница между датами
  37. GitHub в Telegram: подписка на уведомления
  38. IPython и Jupyter Notebook: руководство
  39. Создание новых функций через partial
  40. Переворот строки
  41. Работа с URL-адресами в Python
  42. Синтаксис переменных цикла в Python
  43. Конкатенация списков в Python
  44. Проверка подстроки в строке
  45. Преобразование числа в список цифр

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