Курс 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. Цикл while в Python
  3. *args и **kwargs в Python
  4. Сравнение неупорядоченных списков
  5. Логирование с Loguru
  6. Инверсия списка и строки в Python
  7. Структура данных словарь в Python
  8. Функция enumerate в Python
  9. Извлечение аудио из видео
  10. Метод Event.wait() в Python
  11. Работа с комплексными числами
  12. Список и кортеж в Python
  13. Оператор Walrus в Python 3.8
  14. Сравнение def и lambda функций в Python
  15. Работа с аргументами командной строки
  16. Получение частей дроби
  17. Генераторы по генератору
  18. Использование super() в Python
  19. Форматирование заголовков в Python
  20. Инициализация структур данных
  21. Создание графики с черепахой
  22. Поиск индекса элемента
  23. Howdoi — получение ответов из терминала
  24. Применение команды break
  25. Оператор морж в Python 3.8
  26. Оператор is в Python
  27. Лямбда-функции в Python
  28. Вывод букв строки в Python
  29. Python Enumerate
  30. Проверка версии Python
  31. Хранение переменных в Python.
  32. Логические значения в Python
  33. Функциональное программирование.
  34. Срез списка в Python
  35. Работа с модулем Calendar
  36. Аннотации типов в Python
  37. Создание словарей с defaultdict
  38. Использование модуля math
  39. Обработка исключений в Python
  40. Генератор данных в Keras
  41. Создание и использование модулей в Python
  42. Конвертация текстовых чисел с помощью Numerizer
  43. Функция findall() для поиска вхождений строки
  44. Форматирование даты с strftime()
  45. Оформление текста в консоли с TermColor
  46. Преобразование в float
  47. Установка и использование pyshorteners

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