Курс 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: most_common()
  3. Оптимизация поиска в словарях
  4. Поиск подстроки в строке
  5. Enum в Python: создание и использование перечислений
  6. Функции высшего порядка в Python
  7. Основы работы со списками
  8. Обработка исключений в Python 3
  9. Форматирование вывода с F-строками
  10. Работа с геоданными с помощью geopy
  11. Списки в Python
  12. Метод getitem для доступа к элементам последовательности
  13. Математические функции в Python
  14. Структуры данных в Python
  15. Названия столбцов в Python таблицах
  16. Отладка в командной строке
  17. Каналы Senior: Python, Java, Frontend, SQL, C++
  18. Создание пар из последовательностей
  19. Копирование и вставка текста в Python
  20. Умножение строк и списков
  21. Создание генераторов
  22. Метод join для наборов
  23. Обучение модели с указанием эпох
  24. Подсчет элементов с помощью Counter из collections
  25. Python и Юникод: работа с цифрами
  26. Поиск индекса элемента
  27. Извлечение новостей с помощью newspaper3k
  28. Переопределение метода
  29. Управление асинхронными задачами на Python.
  30. Уникальность ключей в словаре
  31. Преобразование генераторов в циклы
  32. Замеры производительности в Python
  33. Метод add для класса Vector
  34. Управление мышью и клавиатурой с Pyautogui
  35. Метод repr() в Python
  36. Объявление переменных в Python
  37. Динамическая типизация в Python
  38. Удаление ссылок в Python
  39. Работа со словарями в Python
  40. Печать списка с помощью метода join
  41. Работа с процессами в Python
  42. Абстракции словарей и множеств в Python

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