numpy
показывает документацию по классам и функциям, определенным вне модуля __init__.py
из-за добавления их имен в переменную __all__
в __init__.py
.Попробуйте комментировать строки 169-173 (не забудьте раскомментировать!):
#__all__.extend(['__version__', 'show_config'])
#__all__.extend(core.__all__)
#__all__.extend(_mat.__all__)
#__all__.extend(lib.__all__)
#__all__.extend(['linalg', 'fft', 'random', 'ctypeslib', 'ma'])
После выполнения этого вывода help(numpy)
будет очень ограниченным.
Также давайте воспроизведем это поведение,Начиная с '/some/path'
, создайте внутри нее папку folder
, файл с именем file.py
со следующим содержимым:
class Class:
"""Class docstring"""
и __init__.py
:
from .file import *
Теперь посмотримсправка:
/some/path$ python3.5
>>> import folder
>>> help(folder)
Help on package folder:
NAME
folder
PACKAGE CONTENTS
file
FILE
/some/path/folder/__init__.py
А теперь добавьте эту строку в __init__.py
:
__all__ = ['Class']
После повторного импорта folder
команда help(folder)
будет содержать информацию о class Class
, которая включает в себяВаша документация:
Help on package folder:
NAME
folder
PACKAGE CONTENTS
file
CLASSES
builtins.object
folder.file.Class
class Class(builtins.object)
| Class docstring
|
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
DATA
__all__ = ['Class']
FILE
/some/path/folder/__init__.py