Курс 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. Проекты на Python
  2. Форматирование чисел в Python
  3. Настройка нарезки списков
  4. Использование super() в Python
  5. Раздувающийся словарь в Python
  6. Декодирование байтов в строку
  7. Основы Python за 14 дней
  8. Явный импорт в Python
  9. Работа с YAML в Python
  10. Изменение регистра данных
  11. PATCH-запрос с библиотекой requests
  12. Функция map() в Python
  13. Поиск шаблона в строке
  14. Нахождение разницы между списками в Python
  15. Подсчет элементов в Python
  16. Генерация UUID в Python
  17. Установка и использование pyshorteners
  18. Замена символов в Python
  19. Взаимодействие с внешними процессами в Python
  20. Разница между датами
  21. Работа с переменными в Python
  22. Объединение Python и Shell
  23. Обработка StopIteration в Python
  24. Преобразование вложенного списка
  25. Генератор списка с условием if
  26. Возврат нескольких значений из функции
  27. Создание вкладок с TKinter
  28. Работа с географическими данными в Python
  29. Атрибуты объекта в Python
  30. Блок try…finally в Python
  31. Python itertools combinations() — группировка элементов
  32. Комплексные числа в Python
  33. Подсчет вхождений элементов
  34. Округление в Python
  35. Объединение словарей в Python
  36. Переопределение унарных операторов
  37. Извлечение новостей с помощью newspaper3k
  38. Лямбда-функции для min/max
  39. Атрибуты класса и экземпляра
  40. Профилирование с cProfile
  41. Парсинг статей с Newspaper3k

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