类的集合定义为:
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')
运行时,出现此错误:
TypeError: Error when calling the metaclass bases
a new-style class can't have only classic bases
我需要元类(我认为)在我的代码中具有 B 的已知字符串表示。这样做的原因是无关紧要的,但它将极大地帮助未来的更新。
因此,假设我需要 C 成为 B 的元类,而 B 将成为 A 的子类,有人可以告诉我这里出了什么问题以及如何更改我正在做的事情以消除错误吗?