Курс 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. Подсказки типов в Python
  3. Установка и использование emoji
  4. Изменение элемента списка
  5. Сортировка данных в Python
  6. Синхронизация доступа к ресурсам
  7. Декораторы в Python
  8. Сериализация объектов в Python
  9. Протокол управления контекстом
  10. Компиляция регулярных выражений
  11. Методы работы со строками в Python
  12. Обмен значений переменных в Python
  13. Псевдонимы в Python
  14. Метод rsub для пользовательских чисел
  15. Бинарный поиск
  16. Измерение времени выполнения
  17. Функция divmod() в Python
  18. Работа с IP-адресами в Python
  19. Оптимизация создания строк
  20. Поиск всех индексов подстроки
  21. Поиск анаграмм с Counter
  22. Оптимизация гиперпараметров в Python
  23. Создание детектора плагиата
  24. Освоение Python
  25. Оператор (*) в Python
  26. Фильтрация последовательности
  27. Удаление пробелов методом translate()
  28. Операции с комплексными числами
  29. Управление виртуальными средами в Python
  30. Работа с f-строками 2.0
  31. Поиск простых чисел
  32. Проверка переменных окружения в Python
  33. Создание списка через цикл
  34. Форматирование строк в Python
  35. Красивый вывод списка
  36. Enum в Python
  37. Сортировка слиянием
  38. Логирование в Python
  39. Генераторы списков в Python
  40. Сортировка HTML по CSS-селектору
  41. Метод __call__ в Python
  42. Именованные аргументы в Python
  43. Замена символов в Python
  44. Мониторинг памяти с Pympler
  45. Метод join() для объединения строк
  46. Работа с необработанными строками
  47. Лямбда-функции в цикле

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