Курс 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. Обработка исключений с блоком else
  2. Руководство по библиотеке pydantic
  3. Работа с очередями в Python
  4. Сортировка в Python
  5. Создание и обучение модели с Keras
  6. Python Enumerate
  7. Копирование объектов в Python
  8. Пустой оператор pass в Python
  9. Уникальность ключей в словаре
  10. Глобальные переменные в Python
  11. Работа с итераторами в Python
  12. Получение идентификатора объекта в памяти
  13. Проверка элемента в множестве.
  14. Объединение списков в Python
  15. Получение текущей директории
  16. Работа с множествами в Python
  17. Работа с контекст-менеджером «with»
  18. Создание именованных кортежей в Python
  19. Проверка существования переменной с оператором :=
  20. Реализация операции -= для пользовательского класса
  21. Функция map() в Python
  22. Классы данных в Python
  23. Удаление символа из строки
  24. SciPy: широкий функционал для математических операций
  25. Создание класса очереди
  26. Ускорение обработки данных с %autoawait
  27. Ограничение итераций в Python
  28. Функция enumerate() в Python
  29. Определение объема памяти объекта
  30. Измерение времени выполнения с помощью time
  31. Переопределение метода __and__
  32. Работа с PosixPath() в Python
  33. Модуль itertools: эффективная работа с итераторами
  34. Форматирование вывода списков
  35. Удаление первого элемента списка
  36. Преобразование многоуровневого словаря
  37. Работа с YAML в Python: PyYAML.
  38. Конвертация изображений в PDF
  39. Регистрация на курсы SF Education
  40. Методы сравнения множеств
  41. Оператор in для Python
  42. Множественное назначение в Python
  43. Обновление данных через PUT запрос
  44. Оператор «not» в Python
  45. Функция reduce() из модуля functools
  46. Оператор Walrus: правильное использование
  47. Создание графики с черепахой
  48. Наиболее частотные элементы с помощью Counter

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