import numpy 和 import numpy as np 的区别

新手上路,请多包涵

我知道应该尽可能使用

import numpy as np

这有助于避免由于名称空间引起的任何冲突。但我注意到虽然下面的命令有效

import numpy.f2py as myf2py

以下不

import numpy as np
np.f2py #throws no module named f2py

有人可以解释一下吗?

原文由 user1318806 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 443
1 个回答

numpy 是顶级包名称,做 import numpy 不导入子模块 numpy.f2py

When you do import numpy it creats a link that points to numpy , but numpy is not further linked to f2py .当您执行 import numpy.f2py 时建立链接

在你上面的代码中:

 import numpy as np # np is an alias pointing to numpy, but at this point numpy is not linked to numpy.f2py
import numpy.f2py as myf2py # this command makes numpy link to numpy.f2py. myf2py is another alias pointing to numpy.f2py as well

这是 import numpy.f2pyimport numpy.f2py as myf2py 之间的区别:

  • import numpy.f2py
    • numpy 放入本地符号表(指向 numpy),并将 numpy 链接到 numpy.f2py
    • numpynumpy.f2py 都可以访问
  • import numpy.f2py as myf2py
    • my2py 放入本地符号表(指向 numpy.f2py)
    • 它的父 numpy 没有添加到本地符号表中。因此你不能直接访问 numpy

原文由 aha 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏