什么决定了python的help()列出的方法?

时间:2018-11-23 18:51:11

标签: python python-3.x

我有以下python文件test.py

from math import floor
from logging import getLogger

当我执行以下操作时:

$ python3
>>> import test
>>> help(test)

我看到了:

Help on module test:

NAME
    test

FUNCTIONS
    floor(...)
        floor(x)

        Return the floor of x as an Integral.
        This is the largest integer <= x.

FILE
    ...

为什么在帮助文本中记录了floor方法,但没有记录getLogger更广泛地说,是什么决定了python模块的帮助文本中列出了哪些方法?

1 个答案:

答案 0 :(得分:1)

对于模块,您可以查看生成此帮助文本的docmodule方法。

简而言之,列出了内置函数(如floor)(请参阅条件中的isbuiltin),而不属于您调用了help的模块的函数则不被列出(这就是inspect.getmodule(value) is object的职责)。我不确定为什么做出此决定。

如果您定义一个__all__变量,其中包含可见的函数/变量/类的名称,则可以覆盖此变量。

除了这些之外,您还有一些特殊名称(例如,以_开头的名称)。您可以通过查看模块中大多数名称所调用的visiblename函数来了解如何解决此问题。

相关问题