TypeError: Une erreur lors de l'appel des bases de métaclasse une classe de nouveau style ne peut pas avoir que des bases classiques
Une collection de classes définies comme suit:
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')
Lorsque vous exécutez, donne cette erreur:
TypeError: Error when calling the metaclass bases
a new-style class can't have only classic bases
J'ai besoin de la métaclasse (je crois) pour une représentation de chaîne de B dans mon code. Raison d'être qui est à côté de la question mais il va grandement aider avec les futures mises à jour.
Donc, en supposant que j'ai besoin de C à la métaclasse de B et B est une sous-classe d'Une quelqu'un peut me dire ce qui ne va pas et comment je pourrais changer ce que je fais pour supprimer l'erreur?
source d'informationauteur rutherford
Vous devez vous connecter pour publier un commentaire.
Le problème est la ligne
Il devrait être:
De cette façon, vous faites une nouvelle classe de style. Le vide parens n'ont pas de sens que ce soit, et encore, je continue à voir sur stackoverflow et partout. Pourquoi, oh pourquoi?