0

以下代码从导入的模块打印每个函数的文档字符串。但是,结果包括一些未在模块中定义的函数,而是由模块导入的。

import inspect
import my_module

all_functions = inspect.getmembers(my_module, inspect.isfunction)

for i in all_functions:
    print i[0]           # print function name                                                      
    print i[1].__doc__   # print docstring     

如何打印模块中定义的函数的文档字符串?

4

1 回答 1

1

函数具有__module__存储定义它们的模块名称的属性。您可以检查它是否与您正在检查的模块匹配。请注意,这经常会遗漏实际上是模块 API 的一部分但在不同模块中定义的函数。例如heapq.heappush.__module__ == '_heapq',因为该函数实际上是在 C 模块中定义_heapq并被import *编入 Python 模块heapq中。

于 2013-07-30T00:27:26.543 回答