Курс 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. Возврат нескольких значений
  3. Основные методы NumPy
  4. Применение промокода в Много лосося
  5. Python: отсутствие точек с запятыми
  6. Создание namedtuple списком полей
  7. Удаление ключей из словаря
  8. Область видимости переменных в Python
  9. Принципы Zen of Python
  10. Ограничение ресурсов в Python
  11. Генераторы в Python
  12. Аннотации типов в Python
  13. Распаковка значений в Python
  14. Оператор Walrus: правильное использование
  15. Перемещение и удаление файлов в Python
  16. Копирование объектов в Python
  17. Декораторы в Python
  18. Управление мышью и клавиатурой с Pyautogui
  19. Функция zip() в Python
  20. Измерение времени выполнения кода
  21. Округление в Python
  22. F-строки в Python
  23. Удаление дубликатов с помощью множеств
  24. Удаление элементов из списка в Python.
  25. Автоматизация скриптов на AWS Lightsail.
  26. Преобразование кортежа в словарь.
  27. Отрицательные индексы списков в Python
  28. Запрос пароля с помощью getpass
  29. Многострочные комментарии в Python
  30. capitalize() — изменение регистра первого символа строки
  31. Разделение строки с регулярными выражениями
  32. Метод radd для пользовательских чисел
  33. Метод split() в Python
  34. Создание списков в Python
  35. Python: динамическая типизация и проверка типов
  36. Разделение строки в Python
  37. Команда %dhist — список посещенных каталогов
  38. Генераторы в Python
  39. Проверка списка: any() и all()
  40. Переворот строки с помощью срезов
  41. Генераторы в Python
  42. Переворот последовательности

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