为什么在某些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有理由吗?”而客观的答案似乎是:“不,这纯粹是惯例和个人偏好”。我不相信这是基于观点的。很好,卢克!