Python имеет свои собственные дизайнерские идиомы. Некоторые стандартные шаблоны применяются, другие нет. Нечто подобное стратегии или фабрики имеют языковую поддержку, которая делает их прозрачными.
Например, с первоклассными типами все может быть фабрикой. Нет необходимости в фабричном типе, вы можете использовать класс напрямую для создания любого объекта, который вам нужен.
По сути, Python имеет свои собственные идиомы дизайна, которые несколько отличаются во многом потому, что он такой динамичный и обладает невероятными возможностями самоанализа.
Пример:
x = list
my_list = x(range(0,5)) #creates a new list by invoking list's constructor
Назначая тип класса вызываемому объекту, вы можете по существу удалить любые «фабричные» типы в своем коде. У вас остались только вызываемые объекты, которые производят объекты, которые должны соответствовать определенным соглашениям.
Кроме того, в Python есть шаблоны проектирования, которые просто не могут быть эффективно представлены в других статически типизированных языках. Метаклассы и функциональные декораторы являются хорошими примерами этого.