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

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

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

Пример использования декораторов в 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"

  1. Переворот строки
  2. Методы работы со строками в Python
  3. Проблема сравнения словарей
  4. Получение текущей даты в Python
  5. Создание таблиц в Python с PrettyTable
  6. Применение функции к каждому элементу списка
  7. Безопасные SQL-запросы в Python 3.11
  8. Основы Python
  9. Область видимости переменных
  10. Замена атрибута в именованном кортеже
  11. Выражения-генераторы в Python
  12. Установка и использование модуля Wikipedia
  13. Метод join() для объединения элементов в строку.
  14. Конвертация коллекций в Python
  15. Работа со стеком в Python
  16. Модуль subprocess: запуск внешних команд
  17. Типы возвращаемых значений в Python
  18. Оптимизация памяти в Python
  19. Изучение объектов с помощью dir()
  20. Сортировка данных в Python
  21. Concrete Paths в Python
  22. Нахождение хеша для бесконечности и NaN в Python
  23. Область видимости переменных в Python
  24. Отправка поздравлений по дню рождения
  25. Фильтрация списка чисел
  26. Инициализация объекта
  27. Замена элементов в списке с помощью генераторов списков
  28. Библиотека funcy: удобные утилиты
  29. Проверка элементов списка условием
  30. Хеши в Python
  31. Метод __ixor__ для побитового исключающего ИЛИ
  32. Быстрый поиск кода
  33. Измерение времени выполнения кода
  34. Работа с модулем glob в Python
  35. Генерация случайных данных в NumPy
  36. Распаковка аргументов в Python
  37. Функция enumerate в Python
  38. Частичное совпадение ввода
  39. Искажение имен в Python
  40. Метод __imod__ для Python
  41. Подробная информация о %pinfo
  42. Сортировка HTML по CSS-селектору

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