Курс 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. Вставка переменных в шаблоны Flask
  2. Тайное преобразование типа ключа
  3. Оператор морж в Python 3.8
  4. Работа со строками
  5. Установка и использование howdoi
  6. Принципы SRP и OCP
  7. Создание словарей с defaultdict()
  8. Разделение строки в Python
  9. Функция reduce() из модуля functools
  10. Тернарный оператор в Python
  11. Основные функции и модули Python
  12. Определение размера папок в Python
  13. Обход элементов в Python
  14. Модуль sys: основы
  15. Поток данных в Python
  16. Замена атрибута в именованном кортеже
  17. Удаление дубликатов из списка
  18. Метод invert для побитового отрицания
  19. Стать Python-разработчиком
  20. Объединение списков в Python
  21. Конвертация текстовых чисел с помощью Numerizer
  22. Сложные типы данных в Python
  23. Новшества Flask 2.0
  24. Получение обратного списка чисел
  25. Ускорение обработки данных с %autoawait
  26. Профилирование данных с Pandas.
  27. Метод __iand__ для пользовательских классов
  28. Оператор is в Python
  29. Разделение строк методом split()
  30. Форматирование данных с помощью pprint
  31. Метод join() для объединения элементов
  32. Контекстный менеджер в Python
  33. Дизассемблирование Python кода
  34. Секреты Python
  35. Сортировка с помощью параметра key
  36. Хранение данных
  37. Отношения подклассов в Python
  38. Многострочные комментарии в Python
  39. Генераторные выражения и islice.
  40. Создание коллекций из выражения-генератора
  41. Профилирование с cProfile
  42. Обработка исключений
  43. Исключение NotImplementedError
  44. Декораторы в Python

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