Курс 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
  2. Настройка нарезки списков
  3. Вывод символов строки в Python
  4. Определение основы слова с showballstemmer
  5. Поиск индекса элемента в списке
  6. Добавление Progressbar в Python
  7. Colorama: окрашивание текста в Python
  8. Новшества Flask 2.0
  9. Искажение имен в Python
  10. Проверка кортежей.
  11. Декоратор Property в Python
  12. Python: изменяемые и неизменяемые коллекции
  13. f-строки в формате строк
  14. Python и Монти Пайтон
  15. Аннотации типов в Python
  16. Виртуальное окружение Python
  17. Декораторы в Python
  18. Работа с SQLite в Python
  19. Тип CodeType в Python.
  20. Переопределение метода divmod
  21. Манипуляция формой массива в Numpy
  22. Операторы Splat и splatty-splat
  23. Сортировка элементов в Python
  24. Работа с JSON данными в Python
  25. Декораторы в Python
  26. Поиск файлов по шаблону
  27. Работа со слайсами
  28. Magic Commands — улучшение работы с Python
  29. Цепные операции в Python
  30. Метод splitlines() для разделения строк
  31. Идентификатор объекта в Python
  32. Итерация по коллекции в Python
  33. Работа с контекстным менеджером Pool
  34. Работа с пользовательским вводом
  35. Подчеркивание в REPL
  36. Метод join() для объединения элементов строки
  37. Генерация UUID в Python
  38. Удаление файлов и папок в Python
  39. Объявление переменных в Python
  40. Сортировка в Python
  41. Установка и использование Python-dateutil
  42. Объединение словарей в Python
  43. Атрибуты массивов в Numpy
  44. Инициализация структур данных

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