Qu'est-ce qui est arrivé à types.ClassType en python 3?
-
22-08-2019 - |
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?
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