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