Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在某些python模块上使用'import as',而在其他模块上不使用?_Python_Module_Python Import - Fatal编程技术网

为什么在某些python模块上使用'import as',而在其他模块上不使用?

为什么在某些python模块上使用'import as',而在其他模块上不使用?,python,module,python-import,Python,Module,Python Import,为什么像glob和psycopg2这样的包在导入时没有缩短?除了习俗或个人偏好之外,还有其他原因吗?也许是最佳实践 示例:为了可读性和减少加载整个包的开销: 最佳实践 从sklearn.metrics导入r2_分数 模型评分=r2评分(arg1、arg2) #同样地,保持名字简短 导入sklearn 模型评分=sklearn.metrics.r2评分(arg1,arg2) 类似示例:长程序包名称只是缩短了,特别是如果使用了程序包的许多部分 最佳实践 作为pd进口熊猫 将numpy作为np导入

为什么像
glob
psycopg2
这样的包在导入时没有缩短?除了习俗或个人偏好之外,还有其他原因吗?也许是最佳实践


示例:为了可读性和减少加载整个包的开销:

最佳实践 从sklearn.metrics导入r2_分数 模型评分=r2评分(arg1、arg2) #同样地,保持名字简短 导入sklearn 模型评分=sklearn.metrics.r2评分(arg1,arg2) 类似示例:长程序包名称只是缩短了,特别是如果使用了程序包的许多部分

最佳实践 作为pd进口熊猫 将numpy作为np导入 作为sns导入seaboard 将matplotlib.pyplot作为plt导入 df=pd.DataFrame(dictobject) w_平均值=np.平均值(mylist,权重=w) sns.热图(df) plt.show() #而不是 进口大熊猫 进口numpy 进口沿海 导入matplotlib df=pandas.DataFrame(dictobject) w_avg=numpy.average(我的列表,权重=w) seaborn.热图(df) matplotlib.pyplot.show() 为什么我们不对glob做同样的事情?

# Shouldn't this be best practice?
import glob.glob as gl
jpgs = gl('path/*.jpg')

# But instead this seems more prominent:
import glob
jpgs = glob.glob('path/*.jpg')
如果我们需要
glob.glob
的一个鲜为人知的近亲(
glob.iglob
glob.escape
),我们可以
将glob导入为gl
(然后使用
gl.iglob
gl.escape


这个问题:,没有回答我的问题。

不,这纯粹是惯例和个人偏好。

除了惯例或个人偏好之外,还有其他原因吗?
不,这就是为什么我投票以“基于意见”结束这个问题的原因。并不是因为一些模块缩短了,而其他模块没有缩短。诸如
glob
之类的模块只需定义一个与模块同名的类。因此
glob.glob
表示包内
glob
访问类
glob
,类似于
pandas.DataFrame
表示模块内
pandas
访问类
DataFrame
。其他一切都基于首选项或您需要访问的模块方法和结构。@h0r53这不是OP所要求的。他们问为什么将熊猫作为pd导入是一种“惯例”,而不是将glob作为g导入是的,这是基于意见的,不适合这里谢谢您的输入。我的问题是“做X有理由吗?”而客观的答案似乎是:“不,这纯粹是惯例和个人偏好”。我不相信这是基于观点的。很好,卢克!