Курс Python → Декораторы в Python

Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.

Для создания декоратора в 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 позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа со слайсами
  2. Просмотр атрибутов и методов класса
  3. Поиск самого длинного слова в списке с использованием max()
  4. Подсчет элементов с помощью Counter из collections
  5. Атрибуты класса и экземпляра в Python
  6. Нахождение хеша для бесконечности и NaN в Python
  7. Названия столбцов в Python таблицах
  8. Преобразование Excel в PDF с Spire.XLS
  9. Форматирование чисел в Python
  10. Установка User-Agent в Python
  11. Работа с модулем Calendar
  12. Метод get для словаря
  13. Модуль Operator в Python
  14. Поиск простых чисел
  15. Namedtuple в Python
  16. Добавление вложенных списков
  17. Принцип одной функции
  18. Реверс строки и списка в Python.
  19. Строки в Python: апострофы и кавычки
  20. Перевод эмодзи и эмотиконов.
  21. Удаление дубликатов в pandas
  22. Вычисление натуральных логарифмов в NumPy
  23. Изменение регистра данных
  24. Работа с байтовыми строками в Python
  25. Очистка данных с Pandas
  26. Конкатенация строк в Python
  27. Управление памятью в numpy.
  28. Протокол управления контекстом
  29. Функция enumerate() в Python
  30. Удаление ключей из словаря
  31. Аннотации типов в Python
  32. Инициализация структур данных
  33. Работа с утверждениями в Python
  34. Генераторы в Python
  35. Объединение списков с использованием itertools.chain
  36. Управление памятью в Python
  37. Управление контекстом выполнения кода
  38. Работа с каталогами в Python
  39. Измерение времени выполнения кода
  40. Метод split() для разделения строк
  41. Создание функций высшего порядка
  42. Метод join для объединения строк
  43. Сравнение def и lambda функций в Python
  44. Создание спинбокса в tkinter
  45. Декодирование байтов в строку

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