Курс 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. Метод count() для списка
  2. Определение объема памяти объекта
  3. Работа с Path в Python
  4. Чтение бинарного файла в Python.
  5. Модуль os: работа с файлами и папками
  6. Функция sleep() в Python
  7. Установка и загрузка Instaloader
  8. Установка и использование Python-dateutil
  9. Решатель судоку на Python с pygame
  10. Работа с NumPy.linalg
  11. Обработка ошибок в Python
  12. Функция all() в Python
  13. Игра «Камень, ножницы, бумага» — Python
  14. Сортировка HTML по CSS-селектору
  15. Обработка исключений в Python
  16. Работа с контекст-менеджером «with»
  17. Создание списков в Python
  18. Регистрация на хакатоне
  19. Лямбда-функции в Python
  20. Удаление элемента из списка в Python
  21. Блок else в Python
  22. Оценка точности модели
  23. Сортировка и разворот списка
  24. Список переменных в Python
  25. ROT13 Шифр Цезаря в Python
  26. Создание уникального проекта
  27. Удаление URL-адресов в Python
  28. Операторы увеличения и уменьшения переменной
  29. Операторы Splat и splatty-splat
  30. Измерение времени выполнения кода
  31. Метод eq для сравнения объектов
  32. Python Calendar Usage
  33. Декораторы для регистрации функций
  34. Namedtuple в Python
  35. kwargs в Python
  36. Отступы в Python
  37. Аннотации типов в Python
  38. Структура данных deque в Python
  39. Python 3.12: Псевдонимы типов
  40. Очистка вывода в Python
  41. Делегирование в Python
  42. Метод enumerate() в Python
  43. Создание новых функций с помощью functools.partial
  44. Сокращение ссылок с pyshorteners

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