10
として定義されたクラスのコレクションを持つことはできません。はTypeError:メタクラスの拠点を呼び出すときにエラーが新しいスタイルのクラスは唯一の古典的な拠点
TypeError: Error when calling the metaclass bases
a new-style class can't have only classic bases
:
実行
class A():
@staticmethod
def call():
print('a')
class C(type):
def __repr__(self):
return 'somename'
class B(A):
__metaclass__ = C
@staticmethod
def call():
print('b')
def boundcall(self):
print('bound')
、このエラーが発生します
私はコード内にBの文字列表現を持つためにメタクラスが必要です。その理由は、それがポイントの横にあるが、それは将来の更新で大きく役立つだろう。
BのメタクラスにCが必要であると仮定すると、BはAのサブクラスになります。誰かがここで何が間違っているのか、私はエラーを取り除くために何をしているのかを教えてくれますか?