代码之家  ›  专栏  ›  技术社区  ›  Foochen

包中的层次结构

  •  1
  • Foochen  · 技术社区  · 10 年前

    我正在对光学特性进行模拟,并开始为自己创建一个软件包,其中包括我迄今为止编写的所有功能和对象。 出于明显的原因,我使用numpy,我过去也使用 import numpy 在我的模块中。

    现在,在这个包中,我希望使numpy全局可用于每个子模块。从我到目前为止收集的信息来看,这可能是一种糟糕的做法。然而,如果我 导入numpy 在每个模块中,我将numpy作为该模块的键/函数,这似乎是更糟糕的做法。

    换句话说: 当我只使用 package/__init __.py package/module.py 导入numpy 在里面 module.py ,导入并打印所有可用功能

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

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

    package.module.numpy
    

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   shx2    10 年前

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

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