Курс 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. Форматирование данных с помощью pprint
  5. Лямбда-функции в defaultdict
  6. Встраивание HTML в Jupyter Notebook
  7. Создание треугольника Паскаля
  8. Работа с zip-архивами в Python
  9. Работа с файловой системой в Python
  10. Правила именования переменных
  11. Преобразование списка в словарь через генератор
  12. Метод pos в Python
  13. Операторы увеличения и уменьшения в Python
  14. Операции с комплексными числами
  15. Функция zip() для объединения списков
  16. Безопасные SQL-запросы в Python 3.11
  17. Оптимизация гиперпараметров с Scikit Optimize
  18. Преобразование строки в число
  19. Метод Event.wait() в Python
  20. Преобразование символов в нижний регистр
  21. Выражения-генераторы в Python
  22. Python: библиотеки и функции
  23. Обработка исключений в Python
  24. Установка и использование pyshorteners
  25. Декораторы в Python
  26. Получение локальных переменных в Python
  27. Подсчет элементов в Python
  28. Логирование в Python
  29. Роль object и type в Python
  30. Работа с процессами в Python
  31. Оператор умножения для вектора
  32. Работа с файлами в Python
  33. Создание вкладок с TKinter
  34. Отправка POST запроса на сервер.
  35. Проблема с изменяемыми аргументами
  36. Избегайте пустого списка
  37. Нахождение самого длинного слова в списке с помощью max
  38. Colorama: окрашивание текста в Python
  39. Освобождение памяти в Python
  40. Изучение объектов с помощью dir()
  41. Срезы в Numpy
  42. Многострочные строки в Python
  43. Подписка на каналы разработчиков
  44. Установка и использование Logzero
  45. Работа с множествами в Python
  46. Извлечение статей с newspaper3k
  47. Применение промокода в Много лосося

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