包中的层次结构

Hierarchy in Packages

我正在进行光学特性的模拟,并开始创建一个包供我自己使用,其中包括我迄今为止编写的所有函数和对象。 出于明显的原因,我使用 numpy 并且我曾经在我的模块中使用 import numpy

现在,有了这个包,我希望每个子模块都可以全局使用 numpy。从我目前收集到的信息来看,这可能是不好的做法。但是,如果我在每个模块中 import numpy 我得到 numpy 作为该模块的 key/function,这似乎是更糟糕的做法。

换句话说: 当我在 module.py 中创建一个只有 package/__init __.pypackage/module.py 以及 import numpy 的最小包时,导入它并打印所有可用函数

import package
print package.module.__dict__.keys()
['__builtins__', '__file__', '__package__', 'numpy', '__name__', '__doc__']

numpy 出现了。 所以原则上我可以通过

访问 numpy
package.module.numpy

我不确定这是否真的是一个问题以及如何正确完成。

我同意@Sneftel 的评论——这不是问题。

因为这不是模块文档接口的一部分,尽管用户可以看到模块中有 名为 numpy 的东西(不一定是 numpy 模块,它可以是任何东西),作为一个成年人,用户应该避免使用它。