Курс 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. Функция enumerate в Python
  2. Логирование с Logzero
  3. Замена атрибута в именованном кортеже
  4. Dict Comprehension в Python
  5. Декораторы в Python
  6. Вывод сложных структур данных с помощью pprint
  7. Создание словарей с defaultdict
  8. Логирование с Loguru
  9. Обход словаря в Python
  10. Сортировка с параметром key
  11. Управление виртуальными средами в Python
  12. Работа с файлами в Python
  13. Логирование с Logzero
  14. Делегирование в Python
  15. Создание новых списков через list comprehensions
  16. Печать месячного календаря
  17. Названия столбцов в Python таблицах
  18. Фильтрация элементов с помощью islice
  19. Определение объема памяти объекта
  20. Группы исключений в Python
  21. Управление доступом к модулю
  22. Экспорт функций в Python
  23. Логирование с Logzero
  24. Просмотр внешнего файла в Python
  25. Проверка подстроки в строке
  26. Модуль itertools: эффективная работа с итераторами
  27. Очистка данных с помощью pandas
  28. Объявление переменных в Python
  29. Конкатенация списков в Python
  30. Методы HTTP запросов в Flask
  31. Установка и использование Logzero
  32. ChainMap.new_child() — добавление нового словаря
  33. Сортировка и обратный порядок
  34. Работа с коллекциями Python
  35. Хранение данных
  36. Создание коллекций из генератора
  37. Непрерывная проверка в Python
  38. Структура строк в Python
  39. Манипуляция формой массива в Numpy
  40. Генераторы данных
  41. Работа со строками в Python.
  42. Работа со словарями в Python
  43. Работа со строками
  44. Генерация чисел с range()
  45. Работа с контекстными менеджерами
  46. Лямбда-функции в Python
  47. Методы сравнения множеств

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