Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет модифицировать поведение функций без изменения их кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Это позволяет добавлять дополнительный код до и после выполнения целевой функции, а также изменять ее параметры и возвращаемое значение.

Для создания декоратора в Python необходимо определить функцию, которая принимает целевую функцию в качестве аргумента. Внутри этой функции можно определить любую логику, которая будет выполняться до и после вызова целевой функции. Затем необходимо вернуть новую функцию, которая будет заменять исходную функцию при применении декоратора.


def my_decorator(func):
    def wrapper():
        print("Дополнительный код до выполнения функции")
        func()
        print("Дополнительный код после выполнения функции")
    return wrapper

@my_decorator
def my_function():
    print("Основной код функции")

В данном примере мы создаем декоратор my_decorator, который выводит сообщения до и после выполнения функции my_function. При применении декоратора с помощью синтаксиса @my_decorator, вызов функции my_function будет автоматически заменен на вызов функции my_decorator(my_function), изменяя ее поведение.

Использование декораторов позволяет улучшить читаемость и поддерживаемость кода, разделяя логику функций от дополнительной функциональности. Они также позволяют повторно использовать код и упрощают внесение изменений в функциональность программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Python enumerate() функции
  2. Многострочные комментарии в Python
  3. Управление виртуальными окружениями в Python
  4. Сортировка в Python
  5. Работа с Path в Python
  6. Оператор space-invader
  7. Описание скриптов в README
  8. Работа с PosixPath() в Python
  9. Лямбда-функции в Python
  10. Чтение бинарного файла в Python.
  11. Python: отличительная особенность — отступы
  12. Работа с *args и **kwargs в Python
  13. Обязательные аргументы в Python
  14. Установка и использование модуля «howdoi»
  15. Переворот строки с помощью срезов
  16. Переопределение метода __eq__
  17. Создание комплексных чисел
  18. Вывод переменной и строки в Python
  19. Метод rxor для операции побитового исключающего «или»
  20. Конкатенация строк в Python
  21. Работа со строками в Python
  22. Частичное применение функций в Python
  23. Вставка переменных в шаблоны Flask
  24. Разбиение текста в Python
  25. Изменение объектов в Python
  26. Комментарии в Python
  27. Работа с комбинациями в Python.
  28. Функция zip() — объединение последовательностей
  29. Протокол управления контекстом
  30. Функция count() в Python
  31. Работа с географическими данными в Python
  32. Функции высшего порядка в Python
  33. Создание генераторов
  34. Удаление специальных символов
  35. Solidity для DeFi Ethereum
  36. Отображение HTML кода в Python
  37. Генераторы списков в Python
  38. OrderedDict — упорядоченный словарь
  39. Извлечение данных из JSON
  40. Работа со словарями
  41. Переменные в Python
  42. Вложенные функции в Python
  43. Разрешение имен в Python
  44. Метод lt для сортировки объектов

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