Курс 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. Очистка списка от False, None, 0, «»
  2. Распаковка с оператором *
  3. Метод init в Python
  4. Переопределение метода __or__()
  5. Атрибуты массивов в Numpy
  6. Пропуск строк в файле с itertools
  7. Объединение словарей в Python
  8. Генерация случайных чисел Python
  9. Поиск уникальных элементов строкой в Python
  10. Обработка аргументов Python
  11. Приоритет операций в Python
  12. Асинхронный код в Python
  13. Копирование списков в Python
  14. Бинарный поиск
  15. Операторы увеличения и уменьшения переменной
  16. Создание класса в Python
  17. Удаление файлов и папок в Python
  18. Функция reduce() из модуля functools
  19. Списковое включение в Python
  20. Глубокое копирование объектов
  21. inspect в Python: анализ кода
  22. Создание итератора
  23. Строковое представление объектов
  24. Проверка вхождения подстроки
  25. Проверка существования переменной с оператором :=
  26. Проверка типов с использованием isinstance
  27. Функция map() в Python
  28. Функции any() и all() в Python
  29. Переворот строки
  30. Метод enumerate() в Python
  31. Метод ior для битовых операций
  32. Логирование с Logzero
  33. Создание словаря с значением по умолчанию
  34. Создание лямбда-функций
  35. Декораторы в Python
  36. Частичное совпадение ввода
  37. Метод get() для словарей
  38. Декоратор total_ordering для класса Point
  39. Работа с географическими данными.
  40. Модуль functools в Python
  41. Метод __irshift__ для Python
  42. Создание таблиц в терминале с PrettyTable
  43. Тестирование функции сложения
  44. Анализ кода — Python
  45. Создание вложенных циклов for

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