如何列出Python 2.5模块中的方法?

29 投票
4 回答
43317 浏览
提问于 2025-04-15 13:37

我正在尝试使用一个用C语言写的Python库,但这个库没有任何文档。我想用反射(也就是查看代码的能力)来至少看看这个模块里有哪些方法和类。有没有人能提供一个函数或库,让我可以列出模块中的函数(包括参数列表)和类(包括方法和成员变量)?

我找到了一篇关于Python反射的文章,但我不太确定它是否适用于Python 2.5。谢谢大家的帮助。

4 个回答

8

这个也挺不错的:

import module
help(module)

它会先打印出这个模块的说明文档,然后列出模块里的内容,并且也会打印出它们的说明文档。

12

你提到的Mark Pilgrim的第四章,其实对Python 2.5(以及其他任何最近的2.*版本)都适用,因为它们之间有向后兼容性。虽然Mark没有提到help,但我看到其他回答里有提到。

有一个关键点,似乎没有人提到(包括Mark在内;-)),那就是inspect模块。这个模块是Python标准库中的一个很棒的工具,能很好地帮助你进行更高级的自省操作。

58

这里有一些你至少可以做的事情:

import module

print dir(module) # Find functions of interest.

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

撰写回答