Курс 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. Создание копии списка в Python
  4. Defaultdict в Python
  5. Переопределение метода sub
  6. Форматирование строк в Python
  7. Операции с массивами в NumPy
  8. Декораторы в Python
  9. Декоратор Ajax required
  10. Подписка на SelectelNews в Twitter
  11. Работа с контекстными переменными
  12. Сравнение строк в Python
  13. Обновление данных через PUT запрос
  14. Измерение времени выполнения в Python
  15. Установка и загрузка Instaloader
  16. Обход элементов в Python
  17. Метод rmatmul для обратного матричного умножения
  18. Метод Self в Python
  19. Функция rsplit() в Python
  20. Работа со случайными элементами
  21. Объединение объектов в Python
  22. Преобразование чисел в восьмеричную строку
  23. Отладка в командной строке
  24. Генераторные функции в Python
  25. Модуль xkcd: загрузка комиксов
  26. Объединение итераторов
  27. OrderedDict — упорядоченный словарь
  28. Оператор «not» в Python
  29. Наиболее частотные элементы с помощью Counter
  30. Безопасный доступ к значениям словаря
  31. Избегайте изменяемых аргументов
  32. Обрезка изображения с Pillow
  33. Декоратор @override
  34. Работа с набором данных CIFAR10 в PyTorch
  35. Библиотека funcy: удобные утилиты
  36. Обмен значений переменных в Python
  37. Использование defaultdict в Python
  38. Python reversed() функция
  39. Combobox в Tkinter
  40. Прокачанный трейсинг ошибок
  41. Управление экспортом элементов
  42. Метод matmul для умножения матриц
  43. Измерение времени выполнения кода
  44. Работа с прокси в Python
  45. Поиск шаблона в строке
  46. Форматирование строк в Python
  47. Локальные переменные.
  48. Преобразование данных в Python
  49. Настройка нарезки списков
  50. Форматирование строк в Python

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