Question

J'ai un script où je fais des trucs de magie pour charger dynamiquement un module et instancier la première classe trouvée dans le module. Mais je ne peux pas utiliser types.ClassType plus en Python 3. Quelle est la bonne façon de le faire maintenant?

Était-ce utile?

La solution

Je compris. Il semble que les classes sont de type « type ». Voici un exemple de la façon de faire la distinction entre les classes et autres objets à l'exécution.

>>> class C: pass
... 
>>> type(C)
<class 'type'>
>>> isinstance(C, type)
True
>>> isinstance('string', type)
False

Autres conseils

Il a été utilisé pour les classes classiques . En Python 3 ils sont partis. Je suppose que vous pouvez utiliser quelque chose comme:

issubclass(ClassName, object)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top