Вы новичок в Python, которого когда-либо пугала концепция декораторов? Не бойтесь, в этой статье мы раскроем тайну декораторов Python на простом и практичном примере.

Сегодня мы рассмотрим, как реализовать декоратор, который добавляет налог к ​​существующей функции, в частности к функции, вычисляющей сумму цен.

К концу этой статьи вы не только получите более четкое представление о декораторах, но и получите практический инструмент для улучшения своих навыков программирования на Python.

Давайте углубимся и узнаем, как декораторы могут упростить ваш код и сделать его более эффективным! Вот код реализации декоратора.

Конечно, прежде чем мы углубимся в предоставленный пример кода, важно ознакомиться с некоторыми фундаментальными концепциями, связанными с функциями Python.

  1. Функция как объект
  2. Функция как аргумент
  3. Вложенные функции | Возврат функции

Эти основополагающие концепции помогут нам лучше понять декораторы и их полезность.

Давайте кратко рассмотрим каждую из этих концепций вместе с наглядными примерами.

1. Функция как объект

В Python функции можно использовать как объекты, как и другие типы данных, такие как int, str или float. Рассмотрим следующий пример.

Когда я вызываю функцию add() с аргументами, я могу получить выходное значение и сохранить его в переменной «x».

Однако если я назначу функцию без каких-либо аргументов и круглых скобок, она будет сохранена как объект.

Проверьте переменную «y» и ее тип данных. Вы можете заметить вывод как «функция класса».

Итак, теперь я могу использовать «y» как функцию и передавать аргументы, чтобы получить желаемый результат.

2. Функция как аргумент