Pregunta

Tengo un guión en el que hago algunas cosas mágicas para cargar dinámicamente un módulo e instanciar la primera clase que se encuentra en el módulo. Pero no puedo usar types.ClassType Más en Python 3. ¿Cuál es la forma correcta de hacer esto ahora?

¿Fue útil?

Solución

Me lo imaginé. Parece que las clases son de tipo "tipo". Aquí hay un ejemplo de cómo distinguir entre clases y otros objetos en tiempo de ejecución.

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

Otros consejos

Fue utilizado para clases clásicas. En Python 3 se han ido. Supongo que podrías usar algo como:

issubclass(ClassName, object)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top