Курс 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. Переопределение метода __floordiv__
  2. Поиск частого элемента
  3. Оператор * в Python
  4. Настройка логгера Logzero
  5. Инверсия списка и строки
  6. Оператор del в Python
  7. UserString в Python
  8. Сравнение строк в Python
  9. Списковые включения в Python
  10. Создание лямбда-функций
  11. Статическая типизация в Python
  12. Хранение переменных в Python.
  13. Возврат нескольких значений
  14. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  15. Python reversed() функция
  16. Применение функции к элементам списка
  17. Команда %dhist — список посещенных каталогов
  18. Создание GUI с Tkinter: Entry
  19. Метод setitem в Python
  20. Получение списка файлов в директории с использованием os
  21. Python enumerate() использование
  22. Разделение функций на этапы
  23. Удаление и повторная вставка ключа в OrderedDict
  24. Обработка ошибки IndexError
  25. Измерение времени выполнения кода
  26. Проекты на Python
  27. Объединение словарей в Python
  28. Декораторы в Python
  29. Списки в Python: основы
  30. Поиск индексов подстроки
  31. Определение имен функций
  32. Потоковый ввод в Python
  33. Декораторы в Python
  34. Оператор обр. импликации
  35. Метод __iand__ для пользовательских классов
  36. Проверка файла .py на синтаксис.
  37. Python union() функция — объединение множеств
  38. Удаление элементов из списка в Python
  39. Обработка исключения UnboundLocalError
  40. Defaultdict в Python
  41. Объединение объектов в Python
  42. Атрибуты класса и экземпляра
  43. Склеивание строк через метод join()
  44. Фильтрация списка чисел
  45. Операторы += в Python
  46. IPython и Jupyter Notebook: руководство

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