包中的层次结构

时间:2015-04-01 08:05:08

标签: python python-import python-module

我正在模拟光学属性,并开始创建一个供我自己使用的包,其中包括我到目前为止所写的所有函数和对象。 出于显而易见的原因,我使用了numpy,而我在模块中习惯import numpy

现在,有了这个包,我希望为每个子模块提供全局可用的numpy。从我到目前为止收集的内容来看,这可能是不好的做法。但是,如果我在每个模块中import numpy,我会将numpy作为该模块的键/函数,这似乎更糟糕的做法。

换句话说: 当我在package/__init __.py中创建仅包含package/module.pyimport numpy以及module.py的最小包时,导入它并打印所有可用功能

import package
print package.module.__dict__.keys()
['__builtins__', '__file__', '__package__', 'numpy', '__name__', '__doc__']
numpy出现了。 所以原则上我可以通过

访问numpy
package.module.numpy

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

1 个答案:

答案 0 :(得分:1)

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

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