Python中的模块是否有标准别名?

2024-10-06 16:17:02 发布

您现在位置:Python中文网/ 问答频道 /正文

按照this post中提出的指导原则,我将更改所有

from module import function
function(agt)

签署人:

^{pr2}$

在我的密码里。我试着用常用的别名,而不是个人的别名。互联网上有没有一个列表总结所有常用的别名?在

例如,这些似乎很常见:

import numpy as np
import math as m
import matplotlib.pyplot as plt

那么scipy.linalgtimescipy.iocmath等等的别名呢?你用哪个?请随意给其他别名,如果还没有这样的名单,我愿意提出一个(我会更新这篇文章)。在


Tags: fromimport密码列表asfunction互联网scipy
1条回答
网友
1楼 · 发布于 2024-10-06 16:17:02

不,没有完整的模块首字母缩略词列表

没有规范的列表,我也不建议在这里列出一个(所以我不太适合这个地方)。在PEP8中为python定义了包括命名约定在内的样式指南,关于导入的部分是here。好的和有用的建议,但不是一个列举的进口别名列表。在

在命名方面有很多好的规则和建议,其中一些也适用于导入的名称。This post,例如,我认为,可以让我们从“数学绘图库”到“mpl”这一并不令人惊讶的词源。跟随PEP8 on module names可以帮助我们根本不需要缩写。在

请注意,您已经将built-in modules(“time”)与标准但第三方库(“numpy”,这是普遍存在的,但Guido declined in 2006 to add to the core),必须单独安装)和一般第三方库(“matplotlib”)6混合使用。您可能会找到一个内置的和非常常见的库的列表(或者通过教程间接找到),但是包含第三方库的可能性要小得多;我建议让软件包的作者决定他们的标准缩写。Numpy是一个很好的例子,它的作者在自己的教程中使用“np”,并且“标准化”了库的使用语法。在

我不喜欢把数学称为“m”(或者正如一个评论者所说,“os as o”);一个名字的变量对像我这样笨拙的程序员来说是一个灾难的秘诀。。。在


我还要指出rationale for including the "as" syntax in the first place,它通过消除可能的名称冲突来证明它的合理性(如果从scipy和从sympy导入{},可能会有一段不愉快的时间)。使用它来缩写已经符合PEP命名标准的名称(首先是简短易读的),听起来并不应该得到官方认可,即使方便。在

在一个有趣的例子中:heresympy和{}都曾试图短时间内使用相同的缩写,causing the exact problem we hoped to avoid(尽管scipy现在建议根本不要使用首字母缩略词,evidently


脚注

  1. 谷歌也有一个风格指南;they suggest使用import...as“仅当它是标准缩写时(例如,np表示numpy)”。抱歉,他们也推迟了:)
  2. 不是吹毛求疵,而是你的问题是“我正在改变所有的一切”。。。[进口声明](我的重点)。为了清楚起见,您链接的问题是“那么,在其中一个或另一个之间的选择应该基于编码风格。”有时直接导入一个函数或类是非常明确的,imo。例如,包含“GaussianProcessRegressor”导入的^{} tutorial示例不需要执行任何名称空间或缩写。只有您可以知道您的应用程序,但在大多数情况下,假设该名称足够唯一是安全的
  3. 也可以使用as a versioning hack。我有时会用这种方法,但我不确定这个策略有多推荐
  4. 有些人对会话很在行
  5. Reddit doesn't have a list either
  6. 为了从评论中澄清问题,“第三方但标准”和“第三方”之间的界限非常非正式,并不意味着神圣

相关问题 更多 >