Курс 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. Вывод символов строки в Python
  4. Поиск шаблона в начале строки
  5. Получение текущей даты и времени
  6. Настройка вывода в Numpy
  7. Python: возвращение нескольких значений
  8. Удаление элементов из списка в Python
  9. Работа с файлами в Python
  10. Фильтрация входных данных в Python
  11. Удаление элементов из списка в Python.
  12. Проекты на Python
  13. Магические методы в Python
  14. Работа с атрибутом dict
  15. Отладка кода
  16. Рекурсия для обращения строки
  17. Переопределение метода __rshift__
  18. Делегирование в Python
  19. Solidity для DeFi Ethereum
  20. Глубокое копирование объектов
  21. Создание словарей с defaultdict()
  22. Создание списка через итерацию
  23. Форматирование данных с помощью pprint
  24. Определение индекса элемента списка
  25. Переменные в Python
  26. Работа с YAML в Python: PyYAML.
  27. Удаление URL-адресов в Python
  28. Модуль Operator в Python
  29. Операции с комплексными числами
  30. Объединение списков с помощью zip
  31. Кортежи в Python: особенности и преимущества
  32. Операции со строками в Python
  33. Замыкания в Python
  34. Настройка шрифта и цвета в Tkinter
  35. Построение графиков в терминале с bashplotlib
  36. Изменяемые и неизменяемые объекты
  37. Оценка выражений генератора в Python
  38. Форматирование кода на Python
  39. Операторы сравнения в Python
  40. Замер времени выполнения кода
  41. Метод pop() списка
  42. Комментарии в Python
  43. Функция map() в Python
  44. Асинхронное выполнение задач в Python
  45. Инвертирование словаря

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