从python打包的角度来看,在;“进口numpy”;或来自;numpy导入函数名“;?

从python打包的角度来看,在;“进口numpy”;或来自;numpy导入函数名“;?,python,numpy,import,Python,Numpy,Import,我必须将库打包到发行版中,我想知道从numpy模块导入所有函数之间是否有任何区别 from numpy import pi, cos, sin, tan, arcsin, arctan, arctan2, exp, sqrt, array, polyval, polyfit, ndarray from numpy import linspace, rad2deg, zeros, argmax, argmin, log, max, min, mean, loadtxt, delete fr

我必须将库打包到发行版中,我想知道从numpy模块导入所有函数之间是否有任何区别

    from numpy import pi, cos, sin, tan, arcsin, arctan, arctan2, exp, sqrt, array, polyval, polyfit, ndarray
from numpy import linspace, rad2deg, zeros, argmax, argmin, log, max, min, mean, loadtxt, delete
from numpy import float as nfloat
from numpy import append as nappend
from numpy import max as nmax
from numpy import min as nmin
from numpy.linalg import norm
或者只是用最普通的方式

import numpy as np
然后调用每个函数作为

np.functionname
有人告诉我,在安装库时,在包中只会显示有效使用的函数。但是,即使是真的,我也不清楚应该带来什么样的优势

你觉得怎么样


Tnx

我认为不同之处在于,代码可能更具可读性。这本身就是一个优势。标题可能与导入非常紧密,但您的代码更容易阅读。别人和你自己。

没有直接的区别。但是,如果您正在运行单元测试,并且想要修补/模拟函数,那么您必须在导入模块中的第一种情况下以及在
numpy
模块中的后一种情况下进行修补/模拟。我认为将导入numpy用作np的一个优势是防止名称空间污染。另请参阅此帖子,以了解经验丰富的
numpy
用户
np.sin
方法更清晰。它结构紧凑,但清楚地标识了函数的来源。当不同的包(甚至是基本python)中出现具有类似名称的函数时,这一点尤为重要。