J'ai un registre des classes et types en Python 2.5, comme suit:Quelle est la meilleure façon de trouver le type correspondant le plus proche d'un type existant?
class ClassA(object):
pass
class ClassB(ClassA):
pass
MY_TYPES = {
basestring : 'A string',
int : 'An integer',
ClassA : 'This is ClassA or a subclass',
}
Je voudrais être en mesure de passer des types à une fonction, et lui donner l'aspect le plus proche type de correspondance dans la hiérarchie. Donc, en regardant str
renverrait "A string"
et en levant ClassB
retournerait "This is ClassA or a subclass"
Le problème est, je ne sais pas comment trouver la superclasse (ou, plutôt, tracer la chaîne MRO) d'un objet de type.
Quelle est la meilleure façon de gérer cela?
bien! J'oublie toujours d'inspecter ... doit être un défaut de personnalité ou quelque chose. –