Курс 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. Использование type hints
  2. Взаимодействие с внешними процессами в Python
  3. Модуль pprint
  4. Блок try…finally в Python
  5. Логические операторы в Python
  6. Операции с матрицами в Python
  7. Курс Data Scientist в медицине
  8. Функция eval() в Python
  9. Управление мышью и клавиатурой с Pyautogui
  10. JSON в Python: модуль, dump, dumps, load
  11. Объединение списков в Python
  12. Настройка логгера Logzero
  13. Сортировка HTML-элементов
  14. Перемешивание списка с shuffle()
  15. Получение пути к текущему скрипту с помощью os
  16. Основы работы со списками
  17. Непрерывная проверка в Python
  18. Управление ресурсами с контекстными менеджерами
  19. Библиотека Chartify: руководство
  20. Выбор редактора кода.
  21. Цикл for с enumerate() в Python
  22. HTTP-запросы с библиотекой Requests
  23. Отправка POST запроса на сервер.
  24. Ввод нескольких значений
  25. Работа с исключениями в Python
  26. Профилирование кода на Python
  27. Использование функции product
  28. Проверка переменных окружения в Python
  29. Избегание изменяемых аргументов
  30. Codecademy в Telegram
  31. Подписка на @SelectelNews
  32. Оператор «not» в Python
  33. Хэш-функции и метод цепочек
  34. Логирование в Python
  35. Функция reduce() в Python
  36. Отделение звука от видео
  37. Подсчет элементов с помощью Counter
  38. Создание графики с черепахой
  39. Сравнение строк в Python
  40. Метод invert для побитового отрицания
  41. Сортировка элементов в Python
  42. Курсы Яндекс Практикум
  43. Создание словарей и множеств в Python.
  44. Фильтрация списка от «ложных» значений
  45. Создание виртуальной среды
  46. Хеширование паролей с использованием salt
  47. Повторение элементов в Python

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