Курс 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. Monkey Patching в Python
  2. Генераторы в Python
  3. Блок else в обработке исключений
  4. PATCH-запрос с библиотекой requests
  5. Условные выражения в Python
  6. Работа с массивами в Numpy
  7. Метод join() для объединения элементов строки
  8. Основы работы со списками
  9. Модуль pprint: улучшение вывода данных
  10. Декораторы в Python
  11. Псевдонимы в Python
  12. Нахождение самого длинного слова в списке с помощью max
  13. Python groupby() из itertools: работа с повторяющимися элементами
  14. Форматирование строк в Python.
  15. Циклы for в Python
  16. Метод index() в Python
  17. Уникальные значения из списка
  18. Работа с CSV файлами в Python
  19. Многопоточность в Python
  20. Установка random seed в Python
  21. Исправление ошибки NameError
  22. EMOT преобразование эмодзи в текст
  23. Colorama: окрашивание текста в Python
  24. Метод eq для сравнения объектов
  25. Декораторы в Python
  26. Измерение времени выполнения кода
  27. Метод rsub для пользовательских чисел
  28. Лямбда-функции для min/max
  29. Определение размера папок в Python
  30. Работа с кортежами
  31. Аргументы *args и **kwargs
  32. Управление контекстом с помощью декоратора contextmanager
  33. Списки: объединение, изменение
  34. Использование функции enumerate()
  35. Функции в одну строку
  36. Создание треугольника Паскаля
  37. Копирование и вставка текста в Python
  38. Получение текущей даты в Python
  39. Функция reduce() в Python
  40. Декораторы в Python
  41. Проверка строки на палиндром
  42. Метод split() в Python
  43. Оптимизация строк в Python
  44. Переопределение метода delitem в Python
  45. Retrying в Python: повторные вызовы
  46. Метод rsub в Python: расширение функциональности вычитания

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