Python:通用导入

标签 python numpy python-import

谁能解释一下哪个'import'是通用的,所以我不需要写例如:

from numpy import *
import numpy
import numpy as np
from numpy.linalg import *

为什么不 import numpyfrom numpy import * 来包含所有来自“numpy”的内容?

最佳答案

我不确定您所说的“全部来自 numpy”是什么意思,但是您永远不需要一次使用多种形式的 import。他们做不同的事情:

选项一:导入

import numpy 会将整个 numpy 模块引入当前命名空间。然后,您可以将该模块中的任何内容引用为 numpy.dotnumpy.linalg.eig

选项二:from ... import *

from numpy import * 会将 numpy 中的所有公共(public)对象作为本地引用引入当前命名空间。如果包包含一个名为 __all__ 的列表,那么此命令还将导入该列表中定义的每个子模块。

对于 numpy,此列表包括“linalg”、“fft”、“random”、“ctypeslib”、“ma”和我上次检查的“doc”。因此,运行此命令后,您可以调用不带 numpy 前缀的 dotlinalg.eig

如果您正在寻找一种将包中每个子模块的每个符号都拉入您的命名空间的导入,那么我认为没有这样的导入。你必须做这样的事情:

from numpy.linalg import *
from numpy.fft import *
from numpy.random import *
from numpy.ctypeslib import *
from numpy.ma import *
from numpy import *

我认为这是您要避免的。

关于Python:通用导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5956627/

相关文章:

python - 关于python中dir和import的问题

python - 在 Python 中使用 'from copy import copy' 语句安全吗?

python - Durationfield django

python - 将相关系数函数从 NumPy 转换为 Dask

python - itertools 产品加速

python - numpy 数组的小数部分

python - 如何从同一目录导入python类文件?

python - 为什么我执行的四阶龙格库塔方法不起作用?

python - 如何在 Python 3.2 中导入 .xsd 或 .wsdl 文件

python - 如何使用机器人框架,selenium 打开新窗口?