关于Introspection :如何在python 2.5模块中列出方法?

How can I list the methods in a Python 2.5 module?

我试图使用一个用C语言编写的没有任何文档的Python库。我想用自省至少看看模块中有哪些方法和类。是否有人有一个函数或库可以用来列出模块中的函数(带参数列表)和类(带方法和成员变量)?

我发现了这篇关于Python内省的文章,但我确信它不适用于Python2.5。谢谢你的帮助。


以下是您至少可以做的一些事情:

1
2
3
4
5
6
7
import module

print dir(module) # Find functions of interest.

# For each function of interest:
help(module.interesting_function)
print module.interesting_function.func_defaults

你提到的MarkPilgrim的第4章实际上只适用于python 2.5(以及任何其他最新的2.*版本,由于向后兼容性)。马克没有提到help,但我看到其他答案。

没有人(包括mark;-)提到的一个关键点是inspect,这是Python标准库中的一个非常好的模块,可以帮助进行高级的自省。


这也很好:

1
2
import module
help(module)

它将打印模块的docstring,然后列出模块的内容,并打印它们的docstring。


dir()函数显示模块拥有的所有成员。