Курс 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. 9 уловок для чистого кода
  3. Работа с модулем Calendar
  4. Разность множеств
  5. Шаблоны и наследование в Flask
  6. Подсчет частотности элементов в Python
  7. enumerate() в Python для работы с индексами
  8. Метод __float__ в Python
  9. Оптимизация сравнения в Python
  10. Нарезка списков в Python
  11. Утечки переменных цикла в Python 3.x
  12. Передача словаря через **kwargs
  13. Декоратор Ajax required
  14. Именованные срезы в Python
  15. Работа с парами ключ-значение
  16. Генераторные выражения и islice.
  17. Цикл for в Python
  18. Методы list в Python
  19. Функция zip() в Python
  20. Работа с WindowsPath()
  21. Обработка исключений в Python
  22. Поиск кода
  23. Открытие и редактирование скриптов Python
  24. Создание и удаление объектов
  25. Получение пути к текущему скрипту с помощью os
  26. Удаление дубликатов из списка с помощью dict.fromkeys
  27. Разделение списка на гнппы
  28. Вычисление разности множеств в Python
  29. Хранение данных
  30. Вычисление логарифмов в Python
  31. Проверка окончания строки с помощью str.endswith()
  32. Форматирование строк с f-строками
  33. Работа с модулем cmath
  34. Использование метода lower()
  35. Логирование в Python
  36. Типы возвращаемых значений в Python
  37. Библиотека Emoji: использование смайлов в Python
  38. Вывод переменной и строки в Python
  39. Многоточие в Python
  40. Возвращение нескольких значений
  41. Форматирование строк в Python
  42. Библиотека wikipedia для Python
  43. Сериализация объектов в Python
  44. Срез списка в Python
  45. Проверка элементов списка условием
  46. Создание графиков в терминале
  47. Метод rlshift для битового сдвига
  48. ChainMap избыточные ключи
  49. Введение в PyTorch

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