Курс 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. Фильтрация элементов с помощью islice
  2. Обработка исключений в Python 3
  3. Удаление символа из строки
  4. Очистка данных с Pandas
  5. Генерация случайных данных в NumPy
  6. Создание виртуальной среды
  7. Оператор «not» в Python
  8. Инициализация переменных
  9. Фильтрация входных данных в Python
  10. Контекстный менеджер в Python
  11. Установка и использование Virtualenv
  12. Создание уникального множества
  13. Mad Libs Generator
  14. Обязательные аргументы в Python
  15. Обработка ошибок в Python
  16. Удаление дубликатов из списка
  17. Измерение времени выполнения кода
  18. TypedDict для kwargs в Python 3.12
  19. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  20. Переопределение метода __lshift__
  21. Создание графиков в терминале
  22. Преобразование регистра символов
  23. Удаление элементов из списка
  24. Применение функции map() в Python
  25. Объединение словарей в Python
  26. Профилирование кода
  27. Принципы Zen of Python
  28. Python Метод del.
  29. Модуль subprocess: запуск внешних команд
  30. Поиск файлов по шаблону
  31. Оператор assert в Python
  32. Numpy: объединение массивов
  33. globals и locals
  34. Управление фоновыми задачами в Python
  35. Декораторы в Python
  36. Методы в Python
  37. Подписка на @SelectelNews
  38. Локальные переменные.
  39. Частичное применение функций в Python
  40. Преобразование генераторов в циклы
  41. Многострочные комментарии в Python
  42. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  43. Метод join() для объединения элементов

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