Курс 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. Управление мышью и клавиатурой с Pyautogui
  3. Docstring в Python
  4. Метаклассы в Python
  5. Операции с комплексными числами
  6. Возврат нескольких значений
  7. Numpy: использование Ellipsis
  8. Преобразование текста в речь с Python
  9. Измерение времени выполнения кода
  10. Реверс строки и списка в Python.
  11. Конвертация коллекций в Python.
  12. Создание словаря через dict comprehension
  13. Руководство по Pymorphy2
  14. Декораторы в Python
  15. Работа с модулем os в Python
  16. Декораторы в Python
  17. Метод join() для объединения элементов строки
  18. Использование функции enumerate()
  19. Переворот строки
  20. Избегание циклических зависимостей классов в Python
  21. Объединение списков в Python.
  22. Обработка исключений в Python
  23. Создание GUI на Tkinter
  24. Отправка HTTP-запросов в Python
  25. Добавление кнопки в tkinter
  26. Нахождение разницы между списками в Python
  27. Оператор in в Python
  28. Метод eq для сравнения объектов
  29. Преобразование Excel в PDF с Spire.XLS
  30. Метод __int__ в Python
  31. TON Smart Challenge #2: участие и подготовка
  32. Создание именованных кортежей в Python
  33. Замыкания в Python
  34. Создание обратного итератора
  35. Подсчет частотности элементов в Python
  36. Протокол управления контекстом
  37. Основы работы со строками в Python
  38. Метод __complex__ в Python
  39. Создание инструмента обнаружения плагиата
  40. Принципы LSP и ISP в Python
  41. Функции map, filter, reduce
  42. Шаблоны и наследование в Flask
  43. Bootle — простой веб-фреймворк

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