Курс 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. Оператор Walrus в Python
  4. Работа с deque в Python
  5. Безопасные SQL-запросы в Python 3.11
  6. Генерация чисел с range()
  7. Генераторы списков в Python
  8. Проверка элементов списка условием
  9. Область видимости переменных
  10. Повторение элементов в Python
  11. Мощь вложенных функций в Python
  12. Метод __int__ в Python
  13. Генераторы в Python
  14. Генераторы в Python
  15. Извлечение новостей с newspaper3k
  16. Объединение списков в строку
  17. Метод split() в Python
  18. Создание даты из строки ISO
  19. Работа с необработанными строками
  20. Замыкания в Python
  21. Создание объекта времени
  22. Счетчик в Python: most_common()
  23. Изменение логики работы с временем
  24. Закрытие файла в Python
  25. Модуль itertools: эффективная работа с итераторами
  26. Основы Python за 14 дней
  27. Генераторы списков в Python
  28. Атрибуты класса и экземпляра
  29. Поиск подстроки в строке
  30. Карта бомбоубежищ в Москве и Питере
  31. Принципы LSP и ISP в Python
  32. Функция zip() — объединение последовательностей
  33. Генератор бросков кубиков
  34. Переопределение метода xor в Python
  35. Форматирование строк в Python
  36. Вставка переменных в шаблоны Flask
  37. Метод ifloordiv для пользовательских классов
  38. Необязательные аргументы в Python
  39. Python reversed() функция
  40. Сохранение Unicode в JSON
  41. Частичное применение функций в Python
  42. Реверс строки и списка в Python.
  43. Получение идентификатора объекта в памяти
  44. Библиотека Rich: форматирование текста
  45. Проблемы с dict в Python

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