Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.

Для создания декоратора в Python используется символ @, за которым следует имя декоратора. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Эта новая функция обычно содержит дополнительный код, который выполняется до или после вызова исходной функции.


def my_decorator(func):
    def wrapper():
        print("Дополнительный код перед вызовом функции")
        func()
        print("Дополнительный код после вызова функции")
    return wrapper

@my_decorator
def say_hello():
    print("Привет, мир!")

В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.

Использование декораторов в Python позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление ключа из словаря
  2. Участие в LP стейкинге Waves
  3. Лямбда-функции в Python
  4. Работа с модулем Calendar
  5. Тестирование с responses
  6. Удаление элементов из списка в Python
  7. Установка и использование TensorFlow
  8. Форматирование строк в Python
  9. Подсчет элементов с помощью Counter из collections
  10. Работа с массивами в Numpy
  11. Область видимости переменных
  12. Логирование с Logzero: ротация файла
  13. PUT запрос для обновления данных
  14. Сортировка элементов с OrderedDict
  15. Конкатенация строк с помощью join()
  16. Анонимные функции Lambda
  17. Изменения в обработке логических значений
  18. Назначение максимального и минимального значения переменной в Python.
  19. Защита данных в Python
  20. Работа с collections в Python.
  21. Оператор распаковки в Python
  22. Объединение словарей в Python
  23. Создание итерируемых объектов
  24. Использование модуля math
  25. Работа с файлами в Python
  26. Блок else в Python
  27. Изменение элемента списка
  28. Управление контекстом выполнения кода
  29. Сложение матриц в NumPy
  30. Роль запятой в Python
  31. Декораторы в Python
  32. Шаблоны Flask: условия и циклы
  33. Взаимодействие с sys
  34. Извлечение данных из JSON
  35. inspect в Python: анализ кода
  36. Сортировка данных в Python
  37. Проблема с изменяемыми аргументами
  38. Блок else в циклах.
  39. Ускорение кода с помощью векторизации
  40. Создание словарей и множеств в Python
  41. Настройка нарезки списков
  42. Метаклассы в Python
  43. Виртуальные среды в Python
  44. Игра «Камень, ножницы, бумага» — Python
  45. Создание списков в Python

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