【问题标题】:Hierarchy in Packages包中的层次结构
【发布时间】:2015-04-01 08:05:07
【问题描述】:

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

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

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

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

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

访问numpy
package.module.numpy

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

【问题讨论】:

  • 这不是一个真正的问题。标准模块也可以。

标签: python python-import python-module


【解决方案1】:

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

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

【讨论】:

  • 哈,这给了我一个好主意。 import numpy as _calibrationNodeimport os.path as numpy让他们猜测。
  • @Sneftel ...我们都应该是负责任的成年人! ;)
  • 谢谢!我很高兴成为一个负责任的成年人。我只是希望以不同的方式工作。
猜你喜欢
  • 2012-01-09
  • 1970-01-01
  • 2010-12-18
  • 2018-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多