Курс 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. Методы HTTP запросов в Flask
  5. None в Python: использование и особенности
  6. Python union() функция — объединение множеств
  7. Операторы += в Python
  8. Работа с deque из collections
  9. Python Translator: создание локальных переводчиков
  10. Замена атрибута в именованном кортеже
  11. Проверка однородности элементов списка
  12. Преобразование чисел в Python
  13. Метод join() для объединения элементов в строку.
  14. Оператор умножения для вектора
  15. Описание скриптов в README
  16. Работа с прокси в Python
  17. Именование столбцов в Python с pandas
  18. Функции map() и reduce() в Python
  19. Чтение и запись TOML-конфигов
  20. Поиск кода
  21. Именованные кортежи в Python
  22. Мощь вложенных функций в Python
  23. Использование обратной косой черты в f-строках
  24. Строки в Python: апострофы и кавычки
  25. Построение графиков в Matplotlib
  26. Реверс строки в Python
  27. Измерение времени выполнения кода в Python
  28. Профилирование с cProfile
  29. Основы работы со строками в Python
  30. Функциональное программирование.
  31. Работа с набором данных CIFAR10 в PyTorch
  32. Создание списка через цикл
  33. Работа с enumerate()
  34. Управление браузером с Selenium
  35. Форматирование данных с помощью pprint
  36. Операции с матрицами в Python
  37. Протокол управления контекстом
  38. Объединение словарей в Python
  39. Работа с NumPy
  40. Удаление falsy-значений из списка с помощью filter
  41. Аннотации типов в Python
  42. Преобразование объекта в строку
  43. Работа с датами в Python
  44. Освоение Python

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