Курс 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. Ускорение обработки данных с %autoawait
  3. Замена подстроки
  4. Декораторы с @wraps
  5. Ускоренный импорт библиотек
  6. Создание генераторов в Python
  7. Функция reduce() в Python
  8. Любовь к Python
  9. Работа с модулем os в Python
  10. Python Поверхностное Копирование
  11. Объявление переменных в Python
  12. Нарезка списков в Python
  13. Передача аргументов в Python
  14. Python Аргументы по умолчанию
  15. Работа с очередями в Python
  16. Транспонирование 2D-массива с помощью zip
  17. Получение ID процесса
  18. TypedDict для kwargs в Python 3.12
  19. Печать в одной строке
  20. Пространство имен в Python
  21. Управление ресурсами в Python
  22. Метод invert для побитового отрицания
  23. Курсы Яндекс Практикум
  24. Оператор del в Python
  25. Метод append() для списка
  26. Метод bool() в Python
  27. Проверка ввода с помощью isdigit
  28. Переопределение метода __or__()
  29. Правила именования переменных
  30. Методы работы со строками в Python
  31. Глобальные переменные в Python
  32. Отображение HTML кода в Python
  33. Работа с множествами в Python
  34. Создание коллекций из выражения-генератора
  35. Логирование с Loguru
  36. Разбиение строки в Python
  37. Работа с enumerate()
  38. Поиск элементов BeautifulSoup
  39. kwargs в Python
  40. Конкатенация строк с помощью join()
  41. Работа с многоуровневыми словарями в Python
  42. Преобразование текста в нижний регистр
  43. Операции с комплексными числами
  44. PEP-401: оператор
  45. Открытие, чтение и закрытие файла
  46. Работа со случайными элементами
  47. Форматирование данных с помощью pprint

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