Курс 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. Удаление элементов из списка в Python
  3. Работа с SQLite в Python
  4. Подписка на SelectelNews в Twitter
  5. Очистка входных данных
  6. Перегрузка операторов в Python
  7. Создание матрицы в Python
  8. Удаление дубликатов с помощью множеств
  9. Комментарии в Python
  10. Оптимизация сравнения в Python
  11. Открытие, чтение и закрытие файла
  12. Просмотр атрибутов и методов класса
  13. Python reversed() vs срез[::-1]
  14. Изменение логики работы с временем
  15. Расчет времени выполнения
  16. Метод __irshift__ для Python
  17. Применение функций в Python
  18. Управление асинхронными задачами на Python.
  19. Склеивание строк через метод join()
  20. Оператор += в Python
  21. Работа со строками в Python
  22. Установка и использование Logzero
  23. Переопределение метода __floordiv__
  24. Порядок и длина множеств в Python
  25. Группы исключений в Python
  26. Функция all() в Python
  27. Создание панели меню Tkinter
  28. Работа с изображениями PIL
  29. Преобразование в float
  30. Хеширование паролей с солью
  31. Метод округления чисел
  32. Присвоение значений переменным в Python
  33. Руководство по Pymorphy2
  34. Повторение элементов в Python
  35. Печать списка с помощью метода join
  36. Форматирование строк в Python
  37. Оператор «not» в Python
  38. Печать календаря в Python
  39. Создание namedtuple из словаря
  40. Работа с массивами в Python
  41. Хеширование паролей с использованием salt
  42. Python Метод sleep() времени
  43. Атрибуты класса и экземпляра в Python
  44. Операторы увеличения и уменьшения переменной

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