Курс 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. Метод index() в Python
  3. Работа с многоуровневыми словарями в Python
  4. Работа с файлами в Python
  5. Работа с zip()
  6. Создание итератора
  7. List Comprehension Tutorial
  8. Поиск уникальных элементов строкой в Python
  9. Объединение Python и Shell
  10. Создание уникального проекта
  11. Лямбда-функции в Python
  12. Декораторы в Python
  13. Удаление первого элемента списка
  14. Добавление Progressbar в Python
  15. Запрос пароля с помощью getpass
  16. Работа со словарями с defaultdict из collections
  17. Упрощение условных выражений с тернарным оператором
  18. Проверка дубликатов в Python
  19. Использование *args
  20. Установка виртуального окружения Python
  21. Обновление множества в Python
  22. GitHub в Telegram: подписка на уведомления
  23. Метод join() для объединения строк
  24. Установка и использование Telegram API в Python
  25. Регистрация на TenChat
  26. Генераторы в Python
  27. Создание словаря в Python
  28. Изучение объектов с помощью dir()
  29. Определение индекса элемента списка
  30. Переворот строки с помощью срезов
  31. Безопасный доступ к значениям словаря
  32. Установка максимального количества цифр
  33. split() — разделение строки
  34. Python reversed() vs срез[::-1]
  35. Работа со словарями
  36. Импортирование в Python
  37. Создание и инициализация объектов
  38. Реализация метода __abs__ в Python
  39. Генераторы списков в Python
  40. Antigravity модуль
  41. Обрезка изображения с Pillow
  42. Операции с кортежами
  43. Уникальность ключей в словаре
  44. Flask: создание веб-приложений
  45. Функция zip() в Python
  46. Создание новых списков
  47. Сортировка с параметром key

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