29

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

我发现这篇关于 Python 内省的文章,但我很确定它不适用于 Python 2.5。谢谢您的帮助。

4

4 回答 4

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
于 2009-08-15T00:17:51.580 回答
12

您提到的 Mark Pilgrim 的第 4 章实际上确实适用于 Python 2.5(以及任何其他最新2.*版本,这要归功于向后兼容性)。马克没有提到help,但我看到其他答案。

似乎没有人(包括 Mark;-)提到的一个关键点是inspect,这是 Python 标准库中的一个优秀模块,它确实有助于高级自省。

于 2009-08-15T00:44:24.563 回答
8

只是这也很好:

import module
help(module)

它将打印模块的文档字符串,然后列出模块的内容,同时打印它们的文档字符串。

于 2009-08-15T00:25:24.927 回答
4

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

于 2009-08-15T00:17:30.160 回答