按照this post中提出的指南,我将更改所有
from module import function
function(agt)
作者:
import module as mdl
mdl.function(agt)
以我的代码。我正在尝试使用常用别名而不是个人别名。互联网上是否有某种列表汇总所有常用的别名?
例如,这些似乎很常见:
import numpy as np
import math as m
import matplotlib.pyplot as plt
scipy.linalg
,time
,scipy.io
,cmath
等的别名呢?您使用哪个?随意提供其他别名,如果还没有这样的列表,我愿意提出一个(我将更新这篇文章)。
答案 0 :(得分:5)
否,没有模块缩写的完整列表
没有规范的列表,我也不建议在这里列出(因此,该IMO并不是真正的地方)。 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”并已“标准化”了库的使用语法。
FWIW,我不喜欢将数学称为“ m”(或者正如一位评论者所建议的那样,将“ os as o”)。一个名字的变量对于像我这样笨拙的程序员来说是个灾难。
我还要指出rationale for including the "as" syntax in the first place,它通过消除可能的名称冲突来证明其合理性(如果从cos
和scipy
导入sympy
,则可能玩得很不好)。用它来缩写已经符合PEP命名标准的名称(简短易读,起步),听起来并不应该正式认可,即使方便。
在一个有趣的示例中:here,sympy
和scipy
都试图在短时间内使用相同的缩写causing the exact problem we hoped to avoid(尽管现在scipy
建议完全不要使用首字母缩写,evidently)
脚注
import...as
“仅在[为]标准缩写(例如np
为numpy
时)”。抱歉,他们也推迟:)sklearn
tutorial示例不需要进行任何命名间隔或缩写。只有您知道您的应用程序,但是在大多数情况下,假定该名称足够唯一是安全的