【发布时间】:2018-10-17 23:00:53
【问题描述】:
我正在编写一个模块来加载数据集。我想保持接口/API 尽可能干净——所以我通过在它们的名称前加上__ 来隐藏内部函数和变量。惊人的。但是,我的模块导入了仍然出现在我的模块命名空间中的其他包(例如numpy),我该如何避免这种情况?
即我的文件看起来像:
加载器.py:
import numpy as np
__INTERNAL_VAR1 = True
EXTERNAL_VAR = True
def loadData():
data = __INTERNAL_FUNC1()
...
return data
def __INTERNAL_FUNC1():
...
return data
当我导入我的模块 np 时:
> import Loader
> Loader.[TAB]
Loader.EXTERNAL_VAR Loader.loadData Loader.np
【问题讨论】:
标签: python module namespaces package