在具有导入函数的模块上使用 pydoc
Using pydoc on modules with imported functions
我已经创建了自己的模块X
。一开始,我从其他一些模块(例如from math import func
)导入函数。我注意到当我创建文档时:
pydoc -w X
生成的文件还包含从 math
模块导入的函数 function,这是不可取的(特别是如果我从几个模块导入许多函数,这就是我所做的)。
可以通过调用来避免:
import math
但在这种情况下,我必须导入所有函数,然后使用 math.func
而不是仅 func
.
调用它们
是否有另一种方法可以避免使用导入的函数填充我的文档,同时仍然能够使用 from
导入函数?
查看 Pydoc
的源代码,您可以看到以下评论:
if all is not None:
# only document that which the programmer exported in __all__
return name in all
意味着 pydoc
将查找 __all__
模块属性 ,并且 如果已定义,将仅记录定义的函数在里面。
因此,对于您的模块 X
,您可以通过指定名称来定义要在 __all__
中导出的函数。只有那些会记录在相应的 Functions 部分:
__all__ = ['myfunc1', 'myfunc2', ..., 'myfuncN']
案例:
没有 __all__
,以下名为 mod.py
的简单文件:
from math import cos
def myfunc():
""" documentation"""
pass
生成一个 mod.html
文件,其中包含用户为导入的 built-in 函数定义的 myfunc()
和 的文档 cos()
:
通过添加 __all__
并指定要在其中导出的函数名称:
__all__ = ['myfunc'] # visible names
from math import cos
def myfunc():
""" documentation"""
pass
您将 'filter out' cos()
函数并且只有 myfunc()
:
的文档
注意: __all__
可以包含脚本中使用的函数 和 变量名。 pydoc
将区分这些并将它们分为两个不同的组:
- 函数中的函数
- 数据中的变量。
我已经创建了自己的模块X
。一开始,我从其他一些模块(例如from math import func
)导入函数。我注意到当我创建文档时:
pydoc -w X
生成的文件还包含从 math
模块导入的函数 function,这是不可取的(特别是如果我从几个模块导入许多函数,这就是我所做的)。
可以通过调用来避免:
import math
但在这种情况下,我必须导入所有函数,然后使用 math.func
而不是仅 func
.
是否有另一种方法可以避免使用导入的函数填充我的文档,同时仍然能够使用 from
导入函数?
查看 Pydoc
的源代码,您可以看到以下评论:
if all is not None:
# only document that which the programmer exported in __all__
return name in all
意味着 pydoc
将查找 __all__
模块属性 ,并且 如果已定义,将仅记录定义的函数在里面。
因此,对于您的模块 X
,您可以通过指定名称来定义要在 __all__
中导出的函数。只有那些会记录在相应的 Functions 部分:
__all__ = ['myfunc1', 'myfunc2', ..., 'myfuncN']
案例:
没有 __all__
,以下名为 mod.py
的简单文件:
from math import cos
def myfunc():
""" documentation"""
pass
生成一个 mod.html
文件,其中包含用户为导入的 built-in 函数定义的 myfunc()
和 的文档 cos()
:
通过添加 __all__
并指定要在其中导出的函数名称:
__all__ = ['myfunc'] # visible names
from math import cos
def myfunc():
""" documentation"""
pass
您将 'filter out' cos()
函数并且只有 myfunc()
:
注意: __all__
可以包含脚本中使用的函数 和 变量名。 pydoc
将区分这些并将它们分为两个不同的组:
- 函数中的函数
- 数据中的变量。