Python (только 2?) Смотрит на значение переменной __metaclass__
, чтобы определить, как создать объект type
из определения класса. It is possible to define __metaclass__
at the module or package level, и в этом случае он применяется ко всем последующим определениям классов в этом модуле.Какова цель `__metaclass__ = type`?
Однако я столкнулся следующее в flufl.enum
пакет-х __init__.py
:
__metaclass__ = type
С метаклассом по умолчанию, если __metaclass__
не определен является type
, не будет это иметь никакого эффекта? (Это назначение вернется к умолчанию, если __metaclass__
были назначены в более высокой области видимости, но я не вижу такого назначения.) В чем его цель?