¿Cómo puedo listar los métodos en un módulo de Python 2.5?
introspection python-2.5 (4)
Estoy tratando de usar una biblioteca de Python escrita en C que no tiene documentación de ningún tipo. Quiero usar la introspección para al menos ver qué métodos y clases hay en los módulos. ¿Alguien tiene una función o biblioteca que pueda usar para enumerar las funciones (con listas de argumentos) y las clases (con métodos y variables de miembro) dentro de un módulo?
Encontré este artículo sobre la introspección de Python, pero estoy bastante seguro de que no se aplica a Python 2.5. Gracias por la ayuda.
Aquí hay algunas cosas que puedes hacer al menos:
import module
print dir(module) # Find functions of interest.
# For each function of interest:
help(module.interesting_function)
print module.interesting_function.func_defaults
El capítulo 4 de Mark Pilgrim, que usted menciona, en realidad se aplica bien a Python 2.5 (y cualquier otra versión reciente de 2.*
, gracias a la compatibilidad con versiones anteriores). Mark no menciona la help
, pero veo otras respuestas.
Una parte clave que nadie (incluso Mark ;-) parece haber mencionado es inspect , un excelente módulo en la biblioteca estándar de Python que realmente ayuda con la introspección avanzada.
Esto también es bastante bueno:
import module
help(module)
Imprimirá la cadena de documentos para el módulo, luego listará el contenido del módulo e imprimirá sus cadenas de documentos también.
Las funciones dir () muestran todos los miembros que tiene un módulo.