Курс 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. Оператор in для Python
  2. Оператор Walrus в Python
  3. Асинхронное программирование с asyncio
  4. Выборка чисел
  5. Создание таблиц в терминале с PrettyTable
  6. Библиотека schedule: планировщик задач
  7. Переворот списка в Python
  8. Метод remove() для удаления элемента из списка
  9. Работа с timedelta в Python
  10. Подсчет часто встречающихся элементов
  11. Отладка в командной строке
  12. Удаление специальных символов с помощью re.sub
  13. Работа с Telegram API на Python
  14. Создание задания в Cron
  15. Цепные операции в Python
  16. Кортеж в Python: создание, доступ, изменение
  17. Делегирование в Python
  18. CSV строка разделение в Python
  19. Операции с числами в Python
  20. Импорт модулей и пакетов в Python
  21. Профилирование кода на Python
  22. Counter() — подсчет элементов
  23. Создание словарей и множеств в Python
  24. Переопределение метода xor в Python
  25. Команда %dhist — список посещенных каталогов
  26. Синтаксис переменных цикла в Python
  27. Управление IP-адресами через прокси
  28. GitHub в Telegram: подписка на уведомления
  29. Декораторы в Python
  30. Функция map() и ленивая оценка
  31. Оптимизация параметров в Python
  32. Преобразование в float
  33. Работа с библиотекой xkcd
  34. Подписка на каналы разработчиков
  35. Рекурсия для обращения строки
  36. Поток данных в Python
  37. Декоратор total_ordering для класса Point
  38. Форматирование строк в Python
  39. Обновление множества в Python
  40. Потоковый ввод в Python
  41. Метод __float__ в Python
  42. Метод __iand__ для пользовательских классов
  43. Подробная информация о %pinfo
  44. Транспонирование матрицы
  45. Профилирование данных с Pandas
  46. Сравнение строк в Python

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