以下代码从导入的模块打印每个函数的docstring。但是,结果包含一些未在模块中定义的函数,而是由模块导入的函数。
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
如何仅打印 模块中定义的函数的文档字符串?
答案 0 :(得分:1)
函数具有__module__
属性,用于存储定义它们的模块的名称。您可以检查它是否与您正在检查的模块匹配。请注意,这将经常遗漏实际上是模块API的一部分的函数,但是在不同的模块中定义。例如,heapq.heappush.__module__ == '_heapq'
,因为该函数实际上是在C模块_heapq
中定义的,import *
是在Python模块heapq
中定义的。