Шаг 50.
Python: тонкости программирования.
Эффективные функции. Сила декораторов. Ключевые выводы
На этом шаге мы подведем некоторый итог по изученному материалу.
Сформулируем основные выводы.
- Декораторы определяют структурные блоки многократного использования, которые можно применять к вызываемому объекту с целью модификации его
поведения без необратимого изменения самого вызываемого объекта.
- Синтаксис @ является всего-навсего сокращенной записью для вызова декоратора с входной функцией. Многочисленные декораторы,
размещенные над одной-единственной функцией, применяются снизу-вверх (стековая укладка декораторов).
- В качестве оптимального практического приема отладки используйте в своих собственных декораторах вспомогательный декоратор functools.wraps,
чтобы переносить метаданные из недекорированного вызываемого объекта в декорированный.
- Точно так же, как и любой другой инструмент в комплекте инструментов разработки программного обеспечения, декораторы не являются панацеей, и
ими не стоит злоупотреблять. Важно уравновесить необходимость "довести дело до конца" с целевой установкой "не увязнуть в ужасной и неудобной в
обслуживании мешанине кодовой базы".
Со следующего шага мы начнем рассматривать параметры *args и **kwargs.
Предыдущий шаг
Содержание
Следующий шаг