Курс 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. Функция print() — вывод информации
  3. Работа со слайсами
  4. Работа со строками
  5. Удаление файлов в Python
  6. Удаление ключа из словаря
  7. Объединение словарей в Python
  8. Оператор walrus в Python
  9. Округление чисел с помощью round
  10. Умножение строк и списков
  11. Многопоточность в Python
  12. Функция enumerate() — Python
  13. Работа с многоуровневыми словарями в Python
  14. Декораторы с @wraps
  15. Извлечение аудио из видео
  16. Создание и использование ChainMap
  17. Многострочные комментарии в Python
  18. CSV строка разделение в Python
  19. Конвертация коллекций в Python
  20. Генерация UUID в Python
  21. Цикл for в Python
  22. Измерение времени выполнения кода с использованием time
  23. Инвертирование словаря
  24. Регулярные выражения в Python
  25. Модуль xkcd: добавление юмора в Python
  26. None в Python: использование и особенности
  27. Преобразование букв в нижний регистр
  28. Подсчет частотности элементов в Python
  29. Символ подчеркивания в Python
  30. Работа со строками в Python
  31. Генераторы в Python
  32. Создание детектора плагиата
  33. Экспорт данных с помощью writefile
  34. Функция reduce() в Python
  35. Извлечение новостей с newspaper3k
  36. Defaultdict в Python
  37. Создание пар из последовательностей
  38. Нан-рефлексивность в Python
  39. Оптимизация параметров в Python
  40. Разделение строки на подстроки в Python
  41. Метод rpow в Python

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