Курс 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. Локальные переменные.
  2. Настройка шрифта и цвета в Tkinter
  3. Установка переменной среды в Python
  4. Проверка окончания строки с помощью str.endswith()
  5. Непрерывная проверка в Python
  6. Оператор обр. импликации
  7. Искажение имен в Python
  8. Библиотека Rich: форматирование текста
  9. Обработка аргументов Python
  10. Документация функции help() в Python
  11. Методы в Python
  12. Анонимные функции в Python
  13. Создание словаря через dict comprehension
  14. Обновление шаблона base.html
  15. Функция map() и ленивая оценка
  16. Определение локальных переменных в Python
  17. Работа с необработанными строками
  18. Структуры данных в Python
  19. Отображение HTML кода в Python
  20. Создание списков в Python
  21. Оператор объединения словарей
  22. Скрытие вывода данных
  23. Codecademy в Telegram
  24. Возврат нескольких значений
  25. Скачать видео с YouTube
  26. Модуль xkcd: добавление юмора в Python
  27. Метод lt для сортировки объектов
  28. Установка и использование Python-dateutil
  29. Метод округления чисел
  30. Именование столбцов в Python с pandas
  31. Сортировка HTML по CSS-селектору
  32. Округление чисел с помощью round
  33. Работа с библиотекой xkcd
  34. Импорт модулей в Python 3.12
  35. Хеширование паролей с солью
  36. Измерение времени выполнения с помощью time
  37. globals и locals
  38. Символ подчеркивания в Python
  39. Повторение элементов в Python
  40. Подсказки при вводе данных в Python
  41. Удаление специальных символов с помощью re.sub
  42. Функция sleep() в Python
  43. Переменная с нижним подчеркиванием

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