包中的层次结构
Hierarchy in Packages
我正在进行光学特性的模拟,并开始创建一个包供我自己使用,其中包括我迄今为止编写的所有函数和对象。
出于明显的原因,我使用 numpy 并且我曾经在我的模块中使用 import numpy
。
现在,有了这个包,我希望每个子模块都可以全局使用 numpy。从我目前收集到的信息来看,这可能是不好的做法。但是,如果我在每个模块中 import numpy
我得到 numpy 作为该模块的 key/function,这似乎是更糟糕的做法。
换句话说:
当我在 module.py
中创建一个只有 package/__init __.py
和 package/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 模块,它可以是任何东西),作为一个成年人,用户应该避免使用它。
我正在进行光学特性的模拟,并开始创建一个包供我自己使用,其中包括我迄今为止编写的所有函数和对象。
出于明显的原因,我使用 numpy 并且我曾经在我的模块中使用 import numpy
。
现在,有了这个包,我希望每个子模块都可以全局使用 numpy。从我目前收集到的信息来看,这可能是不好的做法。但是,如果我在每个模块中 import numpy
我得到 numpy 作为该模块的 key/function,这似乎是更糟糕的做法。
换句话说:
当我在 module.py
中创建一个只有 package/__init __.py
和 package/module.py
以及 import numpy
的最小包时,导入它并打印所有可用函数
import package
print package.module.__dict__.keys()
['__builtins__', '__file__', '__package__', 'numpy', '__name__', '__doc__']
numpy 出现了。 所以原则上我可以通过
访问 numpypackage.module.numpy
我不确定这是否真的是一个问题以及如何正确完成。
我同意@Sneftel 的评论——这不是问题。
因为这不是模块文档接口的一部分,尽管用户可以看到模块中有 名为 numpy 的东西(不一定是 numpy 模块,它可以是任何东西),作为一个成年人,用户应该避免使用它。