gpt4 book ai didi

python - 在具有导入函数的模块上使用 pydoc

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:57 25 4
gpt4 key购买 nike

我已经创建了自己的模块 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__ 中导出的函数。只有那些会记录在相应的功能部分:

__all__ = ['myfunc1', 'myfunc2', ..., 'myfuncN']

恰当的例子:

如果没有 __all__,以下名为 mod.py 的简单文件:

from math import cos

def myfunc():
""" documentation"""
pass

生成一个 mod.html 文件,其中包含用户定义的 myfunc() 导入的内置函数的文档 余弦():

enter image description here

通过添加 __all__ 并指定要在其中导出的函数名称:

__all__ = ['myfunc']  # visible names
from math import cos

def myfunc():
""" documentation"""
pass

您将“过滤掉”cos() 函数,并且只有 myfunc() 的文档:

enter image description here


注意:__all__ 可以包含脚本中使用的函数变量名。 pydoc 将区分这些并将它们分为两个不同的组:

  1. 函数中的函数
  2. 数据中的变量。

关于python - 在具有导入函数的模块上使用 pydoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com