Курс 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. Склеивание строк без циклов
  2. Поиск повторов в списке
  3. Модуль itertools: эффективная работа с итераторами
  4. Аргументы *args и **kwargs
  5. Преобразование вложенного списка
  6. Тест скорости набора текста на Python
  7. Хеширование паролей с солью
  8. Работа с deque в Python
  9. Использование метода lower()
  10. Тип данных TypeVarTuple
  11. Поиск индекса элемента в списке
  12. Наиболее частотные элементы с помощью Counter
  13. Импорт модулей в Python 3.12
  14. Проверка типа данных
  15. Модуль subprocess: запуск внешних команд
  16. Логирование в Python
  17. Оптимизация памяти в Python
  18. Шаблоны и наследование в Flask
  19. Работа с буфером обмена на Python
  20. Преобразование PowerPoint в PDF.
  21. Декоратор Ajax required
  22. Установка пакета в Python
  23. Объединение списков в Python.
  24. Установка библиотек в Python
  25. Протокол управления контекстом
  26. Работа с NumPy.linalg
  27. Получение размера объекта с sys.getsizeof()
  28. Установка и обучение ChatterBot
  29. Преобразование текста в речь с Python
  30. Оператор break в Python
  31. Метод split() для разделения строк
  32. Работа с множествами в Python
  33. ChainMap избыточные ключи
  34. Проверка условий в Python
  35. Python Метод Union Множеств
  36. Библиотека Emoji: использование смайлов в Python
  37. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  38. Оформление кода на Python
  39. Метод setitem в Python
  40. Работа со списками
  41. Настройка логгера Logzero
  42. Оператор «and» в Python
  43. Метод rmatmul для обратного матричного умножения
  44. Установка Python3.7 и PIP

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