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__
がより高いスコープで割り当てられている場合、この割り当てはデフォルトに戻りますが、割り当てはありません)。その目的は何ですか?