Курс 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. Разделение строки с помощью re.split()
  3. Сериализация данных в JSON с помощью json.dumps
  4. Перехват исключений в Python
  5. Скрытие вывода данных
  6. Округление банкира в Python
  7. Разность множеств
  8. Обработка исключения UnboundLocalError
  9. Библиотека sh: удобные команды терминала
  10. Нахождение разницы между списками в Python
  11. Метод join() для объединения строк
  12. Просмотр файла в Jupyter Noteboo
  13. Работа с типами данных в Python с помощью pydantic.
  14. Ввод нескольких значений
  15. Комментарии в Python
  16. Метод init в Python
  17. Работа со строками в Python
  18. Поиск самого длинного слова в списке с использованием max()
  19. Однострочники Python
  20. Работа с SQLite в Python
  21. Создание инструмента обнаружения плагиата
  22. Python: отличительная особенность — отступы
  23. Передача параметров в Python
  24. Блок try-except-else
  25. Поиск индекса элемента
  26. Python groupby() из itertools: работа с повторяющимися элементами
  27. Создание и удаление объектов
  28. Поиск частых элементов в списке
  29. Именованные срезы в Python
  30. Метод clear для коллекций
  31. Поиск самого частого элемента
  32. Итерация по итерируемым объектам
  33. Установка максимального количества цифр
  34. Непрерывная проверка в Python
  35. Работа с пакетами
  36. Перегрузка операторов в Python
  37. Форматирование строк в Python
  38. Создание и использование модулей в Python
  39. Создание и использование ChainMap
  40. Декораторы с аргументами
  41. Работа с итераторами в Python
  42. Создание вложенных циклов for
  43. Возврат нескольких значений
  44. Разделение строки на подстроки в Python
  45. Взаимодействие с sys
  46. Работа с CSV в Python
  47. Сравнение строк в Python

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