Курс 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_function, она будет автоматически обернута в декоратор my_decorator, и дополнительный код будет выполнен до и после выполнения основной функции.

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

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

Автор урока

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

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

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

  1. Методы Python для работы с данными
  2. Импорт и использование модулей в Python
  3. Генератор списка с условием if
  4. HTTP-запросы с библиотекой Requests
  5. Создание графики с черепахой
  6. Разделение функций на этапы
  7. Форматирование даты с strftime()
  8. Генераторы в Python
  9. Форматирование данных с pprint
  10. Изменение IP-адреса в Python
  11. Подсчет элементов с помощью Counter
  12. Создание и использование модулей в Python
  13. Работа с файлами в Python
  14. Создание треугольника Паскаля
  15. Форматирование кода на Python
  16. Модуль inspect: получение информации о объектах
  17. Конкатенация строк с методом join()
  18. Оператор in в Python
  19. Основные операции с библиотекой Numpy
  20. Создание словарей и множеств в Python.
  21. Оператор in и not in в Python
  22. Возведение в квадрат с помощью itertools
  23. Декодирование байтов в строку
  24. Работа с argparse
  25. Преобразование регистра строк
  26. Проверка типов с помощью isinstance
  27. Добавление элементов в список
  28. Аннотации типов в Python
  29. Псевдонимы в Python
  30. Построение графиков в Matplotlib
  31. ChainMap.new_child() — добавление нового словаря
  32. Списковый компрехеншен.
  33. Создание детектора плагиата
  34. Атрибуты объекта в Python
  35. Открытие и редактирование скриптов Python
  36. Структура данных словарь в Python
  37. Возврат нескольких значений из функции
  38. Сравнение неупорядоченных списков
  39. Переопределение метода __and__
  40. Декоратор проверки активности
  41. Логирование с Logzero
  42. Оператор continue в Python
  43. Использование функции enumerate()
  44. Оптимизация памяти в Python
  45. Python: Фильтрация списков с помощью filter()
  46. Классы данных в Python
  47. Удаление ключа из словаря в Python

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