Курс 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. Перегрузка операторов в Python
  3. Нахождение максимального значения и его индекса в списке
  4. Подробная информация о %pinfo
  5. Навыки Python: строки, типы данных
  6. Модуль pprint
  7. Сравнение объектов в Python
  8. Аргументы *args и **kwargs
  9. Применение функций в Python
  10. Оператор «моржа» (Walrus Operator)
  11. Установка Home Assistant
  12. Изменение элемента списка
  13. Измерение потребления памяти при сортировке
  14. Сериализация данных в JSON с помощью json.dumps
  15. Работа с кортежами в Python
  16. Динамические маршруты во Flask
  17. Сохранение и загрузка модели в PyTorch
  18. Обратное распространение ошибки
  19. Генератор надежных паролей
  20. Удаление ресурса в Python
  21. Вложенные циклы в Python
  22. Комментарии в Python
  23. Лямбда-функции в цикле
  24. Получение идентификатора объекта в памяти
  25. Метод bool() в Python
  26. Работа с JSON в Python
  27. Поиск кода
  28. Проверка типов с помощью isinstance
  29. Методы list в Python
  30. Декоратор Property в Python
  31. Обработка исключений в Python
  32. Конкатенация строк с join() в Python
  33. Работа с Telegram API на Python
  34. Анонимные функции в Python
  35. Сравнение def и lambda функций в Python
  36. Создание GUI с Tkinter: Entry
  37. Переименование файлов в Python
  38. Извлечение статей с newspaper3k
  39. Метод rlshift для битового сдвига
  40. Создание объекта timedelta
  41. Библиотека Chartify: руководство
  42. Списки в Python: синтаксис представления
  43. Логирование в Python
  44. Рекурсия для обращения строки

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