10
定義爲類的集合:類型錯誤:錯誤調用元類基地當一個新的風格類不能只有經典基地
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的子類,有人可以告訴我這裏出了什麼問題,以及我可能會如何改變我在做什麼來消除錯誤?