Курс 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. Просмотр внешних файлов в %pycat
  3. Решатель судоку на Python с pygame
  4. Настройка нарезки списков
  5. Метод ne для сравнения объектов
  6. Работа с NumPy
  7. F-строки в Python 3.8
  8. Анализ текста на русском языке с помощью Pymystem3
  9. Переменные класса и экземпляра
  10. Карта бомбоубежищ в Москве и Питере
  11. Взаимодействие с внешними процессами в Python
  12. Операции со строками в Python
  13. Конкатенация строковых литералов
  14. Логический оператор «and» в Python
  15. Метод lt для сортировки объектов
  16. Использование функции enumerate()
  17. Проектирование Singleton с метаклассом
  18. Работа с argparse
  19. Метод add для класса Vector
  20. Пересечение списков с использованием множеств
  21. Подсказки типов в Python
  22. Создание новой даты в Python
  23. Оценка выражений генератора в Python
  24. Символ подчеркивания в Python
  25. Работа с итераторами через срезы
  26. Преобразование документов в PDF с помощью Spire.Office
  27. Работа со словарями с defaultdict из collections
  28. Искажение имен в Python
  29. Декораторы в Python
  30. Применение команды break
  31. Векторизация в Python с NumPy.
  32. Измерение времени выполнения
  33. Импорт модуля из другого каталога
  34. Синхронизация потоков с time.sleep()
  35. Оператор Walrus в Python 3.8
  36. Преобразование списка в словарь через генератор
  37. Метод ipow для возведения в степень
  38. Библиотека wikipedia для Python
  39. Lambda-функция в Python: использование с map() и sum()
  40. Копирование объектов в Python
  41. Метод count() для списков
  42. Проверка наличия элемента в списке
  43. inspect в Python: анализ кода
  44. Работа с часовыми поясами в Python
  45. Форматирование строк в Python
  46. Объединение словарей в Python

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