Курс 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. Удаление пробелов методом translate()
  4. Метод __ixor__ для побитового исключающего ИЛИ
  5. Преобразование текста в речь с Python
  6. Уникальные значения из списка
  7. Частичное совпадение ввода
  8. Метод eq для сравнения объектов
  9. Форматирование строк в Python.
  10. Форматирование строк в Python
  11. Оператор in для проверки наличия элемента
  12. Генерация резюме в Gensim
  13. Преобразование range в итератор
  14. Оптимизация создания строк
  15. Метод __int__ в Python
  16. Раздувающийся словарь в Python
  17. Обработка ошибок в JSON данных
  18. Проверка версии Python
  19. Основы работы с os
  20. Профилирование кода на Python
  21. Удаление символов новой строки в Python.
  22. Установка и использование pyshorteners
  23. Работа с итераторами в Python
  24. Функциональное программирование.
  25. Переменные класса и экземпляра
  26. Операция += для списков
  27. Символ подчеркивания в Python
  28. Создание .exe файла с pyinstaller
  29. Вложенные циклы в Python
  30. Создание вложенного генератора
  31. Атрибуты объекта в Python
  32. Проверка запуска скрипта или импорта модуля
  33. Сортировка с помощью параметра key
  34. Итерация по итерируемым объектам
  35. Сортировка HTML-элементов
  36. Структуры данных в Python
  37. Метод join() для объединения строк
  38. Метод __float__ в Python
  39. Динамические маршруты во Flask
  40. Установка максимального количества цифр
  41. Инициализация структур данных
  42. Метод rsub для пользовательских чисел
  43. CLI-инструмент howdoi
  44. PrettyTable: создание таблицы

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