Курс 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. Измерение времени выполнения кода
  2. Метод bool() в Python
  3. Автоматизация скриптов на AWS Lightsail.
  4. Транспонирование матрицы в Python
  5. Получение комбинаций в Python
  6. Перевод эмодзи и эмотиконов.
  7. Метод ipow для возведения в степень
  8. Цикл for в Python
  9. Деление в Python
  10. Вызов внешних программ в Python с помощью sh
  11. Замена атрибута в именованном кортеже
  12. Мониторинг работы программы Py-spy
  13. Блок else в Python
  14. Подписка на Kaspersky Team
  15. Навыки Python: строки, типы данных
  16. Генерация ключей RSA
  17. Итераторы с потерямиZIP
  18. Импорт модуля из другого каталога
  19. Многострочные комментарии в Python
  20. Оператор Walrus в Python
  21. Создание веб-приложения с Flask
  22. Подсчет вхождений элементов
  23. Работа со словарями с defaultdict из collections
  24. Работа с модулем random
  25. Python OrderedDict и fromkeys() — работа с словарями
  26. Основы Python
  27. Логические значения в Python
  28. Аннотации типов в Python
  29. Извлечение новостей с помощью newspaper3k
  30. Счетчик в Python: most_common()
  31. Преобразование строк в числа с плавающей запятой
  32. Структуры данных в Python
  33. Сравнение строк в Python
  34. Преобразование Excel в PDF с Spire.XLS
  35. Функция map() в Python
  36. Синтаксис переменных цикла в Python
  37. Асинхронное программирование с asyncio
  38. Объединение словарей в Python
  39. Многострочные комментарии в Python
  40. Сравнение объектов в Python
  41. Конкатенация строк в Python
  42. Работа с файловой системой в Python
  43. Функция enumerate в Python
  44. Чтение бинарного файла в Python.
  45. Определение имен функций
  46. Переменная Шредингера

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