Курс 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. Модуль xkcd: загрузка комиксов
  3. Оптимизация памяти с помощью __slots__
  4. Управление контекстом с помощью декоратора contextmanager
  5. Python Тесты и Гайды
  6. Метод __iand__ для пользовательских классов
  7. Переопределение метода len
  8. Оператор Walrus в Python
  9. Цикл while в Python
  10. Форматирование строк в Python
  11. Секреты Python
  12. Проверка версии Python
  13. Вычисление логарифмов в Python
  14. Оптимизация сравнения в Python
  15. Сортировка HTML по CSS-селектору
  16. CSV строка разделение в Python
  17. Преобразование Excel в PDF с Spire.XLS
  18. Работа с YAML в Python: PyYAML.
  19. Работа с CSV файлами в Python
  20. Роль запятой в Python
  21. Регистрация на курсы SF Education
  22. Функция zip() в Python
  23. Библиотека sh: использование команд bash в Python
  24. Удаление элементов по срезу
  25. Удаление файлов и папок в Python
  26. Проверка надежности пароля на Python
  27. Автоматизация скриптов на AWS Lightsail.
  28. Создание уникального множества
  29. Транспонирование 2D-массива с помощью zip
  30. Избегание изменяемых аргументов
  31. Обход словаря в Python
  32. Извлечение данных из JSON
  33. Работа с timedelta в Python
  34. Группировка элементов в словарь
  35. Работа с каталогами в Python
  36. Получение текущего времени в Python
  37. Циклы for в Python
  38. Работа со строками в Python
  39. Экранирование символов в Python
  40. Изменения в обработке логических значений
  41. Объединение объектов в Python
  42. Разделение функций на этапы
  43. Установка и использование библиотеки google
  44. Оператор del в Python
  45. Списки в Python: синтаксис представления
  46. Сортировка элементов в Python

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