Набор классов, определенных как:
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. Может ли кто-нибудь сказать мне, что здесь происходит не так и как я могу изменить то, что я делаю, чтобы устранить ошибку?