Tengo un script donde hago algunas cosas mágicas para cargar dinámicamente un módulo y crear una instancia de la primera clase que se encuentra en el módulo. Pero ya no puedo usar types.ClassType
en Python 3. ¿Cuál es la forma correcta de hacer esto ahora?¿Qué pasó con types.ClassType en python 3?
12
A
Respuesta
14
lo he descubierto. 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
5
Se usó para classic classes. En Python 3 se han ido. supongo que se podría utilizar algo como:
issubclass(ClassName, object)
Cuestiones relacionadas
- 1. ¿Qué pasó con thread.start_new_thread en python 3
- 2. ¿Qué pasó con Builder :: XmlMarkup en Rails 3?
- 3. ¿Qué pasó con regtlibv12?
- 4. ¿Qué pasó con syscalls.h?
- 5. ¿Qué pasó con VRML?
- 6. ¿Qué pasó con OmniXML?
- 7. ¿Qué pasó con Android AAPT?
- 8. Python + JSON, ¿qué le pasó a None?
- 9. ¿Qué pasó con emacs 'java?
- 10. ¿Qué pasó con MSXML 4.0?
- 11. ¿Qué pasó con la clase rect de Python?
- 12. ¿Qué pasó con las vinculaciones de python para CGAL?
- 13. ¿Qué pasó con Control.InvokeRequired en WPF?
- 14. ¿Qué pasó con AssemblyDescription en Windows 7?
- 15. ¿Qué pasó con JAXB NamespacePrefixMapper en JDK6u18
- 16. HttpClient 4 - ¿Qué pasó con MultiThreadedHttpConnectionManager?
- 17. Rx for .NET - ¿Qué pasó con Scheduler.Dispatcher?
- 18. ¿Qué pasó con la palabra clave 'entrada'?
- 19. Delphi 2010: ¿qué pasó con TRTTIConstructor?
- 20. ¿Qué pasó con las extensiones nunit/rowtest?
- 21. ¿Qué pasó con el operador Rx Switch()?
- 22. ¿Qué pasó con Java (específicamente el lenguaje)?
- 23. ¿Qué pasó con el JSDT de Eclipse?
- 24. ¿Qué pasó con el Proyecto Volta?
- 25. WPF 4: ¿Qué pasó con DataGridColumnHeader?
- 26. ¿Qué pasó con filterContext.Cancel (ASP.NET MVC)
- 27. Python 3 con Emacs
- 28. ¿Qué pasó con las protecciones WINVER y _WIN32_WINNT en windows.h?
- 29. ¿Qué pasó con el explorador de paquetes en Eclipse?
- 30. ¿Qué pasó con mis sombras de texto en Google Chrome?
¡Gracias! Intenté usar 'type (C) is type', que funcionaba para clases simples, pero no cuando C usa una metaclase. 'isinstance (C, type)', como escribió, todavía devuelve 'True' en ese caso, sin embargo. – goodmami