Курс 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. Получение текущей даты и времени с помощью datetime
  2. Использование модуля __future__
  3. TypedDict для kwargs в Python 3.12
  4. Работа с WindowsPath()
  5. Переменная с нижним подчеркиванием
  6. Оператор «not» в Python
  7. Поиск индексов подстроки
  8. Декораторы классов
  9. Установка Python3.7 и PIP
  10. Defaultdict в Python
  11. Модуль pprint
  12. Изменение IP-адреса в Python
  13. Нахождение разницы между списками в Python
  14. Оператор распаковки в Python
  15. Сравнение def и lambda в Python
  16. Методы list в Python
  17. Многопроцессорное программирование в Python
  18. Измерение времени выполнения кода
  19. Объединение списков в строку
  20. Переворот списка в Python
  21. Рекурсия для обращения строки
  22. Бесконечная проверка в Python
  23. Поиск шаблона в строке
  24. Запуск внешних программ с subprocess
  25. Измерение времени выполнения с помощью time
  26. Обновление данных через PUT запрос
  27. Преобразование регистра символов
  28. Операторы Splat и splatty-splat
  29. Выключение компьютера с помощью Python
  30. Печать календаря в Python
  31. Работа со стеком в Python
  32. Работа с утверждениями в Python
  33. Обработка исключений
  34. Использование defaultdict в Python
  35. Генераторы списков в Python
  36. Подписка на Kaspersky Team
  37. Создание новой даты в Python
  38. Регистрация на курсы SF Education
  39. Область видимости переменных в Python
  40. Метод invert для побитового отрицания
  41. Проверка строки на палиндром
  42. Работа с *args и **kwargs в Python
  43. Вычисление натуральных логарифмов в NumPy
  44. Основы Python
  45. Разрешение имен в Python
  46. Динамическая типизация в Python
  47. Профилирование кода на Python
  48. Логирование с Loguru

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