Курс 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 3.x
  2. Модуль itertools: эффективная работа с итераторами
  3. Библиотека itertools: объединение списков
  4. Измерение времени выполнения кода с использованием time
  5. Сортировка элементов с OrderedDict
  6. Оператор in для проверки наличия элемента
  7. Управление фоновыми задачами в Python
  8. Модуль subprocess: запуск внешних команд
  9. Измерение времени выполнения кода
  10. Использование html-скриптов в Jupyter Notebook
  11. Добавление цвета в консоли
  12. Оператор is в Python
  13. Python Метод sleep() времени
  14. Группы исключений в Python
  15. Удаление и повторная вставка ключа в OrderedDict
  16. Работа с Telegram API на Python
  17. Печать месячного календаря
  18. Работа с комплексными числами в Python
  19. Хранение данных с помощью dataclasses
  20. Проверка типов с помощью isinstance
  21. Настройка Cron
  22. Метод Self в Python
  23. Функция rsplit() в Python
  24. Работа со строками в Python
  25. Разница между датами
  26. Генерация случайных чисел в Python
  27. Декораторы в Python
  28. Нахождение пересечения множеств
  29. Фильтрация элементов с помощью islice
  30. CSV строка разделение в Python
  31. Оператор (*) в Python
  32. Извлечение данных из JSON
  33. Разделение строки с регулярными выражениями
  34. Функции map() и reduce() в Python
  35. Работа с Path в Python
  36. Метод enumerate() в Python
  37. Работа с классами данных
  38. Обновление данных через PUT запрос
  39. Удаление ключей из словаря
  40. Создание словаря через dict comprehension
  41. Использование defaultdict в Python
  42. Ускорение выполнения кода в Python
  43. Хеширование паролей с солью
  44. Оператор обр. импликации
  45. Разделение строки с помощью split()

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