定义为:
的类集合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的子类,有人可以告诉我这里出了什么问题,以及我如何改变我正在做的去除错误的内容?