Курс 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. Непрерывная проверка в Python
  2. Оператор умножения для вектора
  3. Методы split() и join() — Python строк.
  4. Удаление элементов из списка в Python
  5. Передача неизвестных аргументов в Python.
  6. Стать Python-разработчиком
  7. Проверка существования переменной с оператором :=
  8. Функция count() в Python
  9. Настройка нарезки списков
  10. Использование defaultdict в Python
  11. Методы list в Python
  12. Декоратор проверки активности
  13. Python: библиотеки и функции
  14. Работа с WindowsPath()
  15. Расчет времени выполнения
  16. Обработка ошибки IndexError
  17. Получение частей дроби
  18. Создание вложенных циклов for
  19. Обновление шаблона base.html
  20. Разделение строк в Python
  21. Преобразование числа в список цифр
  22. Работа с изображениями Pillow
  23. Зарезервированные слова в Python
  24. Декораторы классов
  25. Декораторы в Python
  26. Расчет времени выполнения
  27. Логические значения в Python
  28. Инверсия списка и строки
  29. Создание лямбда-функций
  30. Многопоточность и асинхронное программирование в Python
  31. Python Поверхностное Копирование
  32. Создание новых списков в Python
  33. Создание треугольника Паскаля
  34. Работа со строками в Python
  35. Concrete Paths в Python
  36. Обход элементов в Python
  37. Цикл for с enumerate() в Python
  38. Настройка Cron
  39. Моржовый оператор в Python 3.8
  40. Копирование в Python
  41. Метод bool() в Python
  42. Работа с процессами в Python
  43. Реверс строки и списка в Python.
  44. Исключение NotImplementedError
  45. Округление банкира в Python
  46. Удаление элемента по индексу в Python
  47. Обработка исключений

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