遵循中提出的指南这个帖子,我正在改变所有
from module import function
function(agt)
by:
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
等等 ?你用哪个?请随意提供其他别名,如果尚不存在这样的列表,我愿意提出一个(我将更新这篇文章)。
不,没有模块缩写词的完整列表
没有规范的列表,我不建议在这里制作一个(所以在我看来,这并不是真正适合的地方)。样式指南,包括命名约定,在 PEP8 中为 python 定义,有关导入的部分是here。好的和有用的建议,但不是导入别名的枚举列表。
关于命名有很多好的规则和建议,其中一些也适用于导入的名称。这个帖子例如,我认为,可以让我们了解“数学绘图库”到“mpl”的不那么令人惊讶的词源。继模块名称上的 PEP8可以帮助我们根本不需要缩写词。
Note that you've mixed built-in modules ("time
") with standard but third-party libraries ("numpy
", which is ubiquitous but Guido declined in 2006 to add to the core and must be installed separately) and general third-party libraries ("matplotlib
")6. You might find a list for built-in and extremely common libraries (or an indirect one through tutorials), but third-party libraries being included seems far less likely; I would advise letting the authors of packages decide their standard abbreviations. Numpy is a good example of a library who's authors use "np" in their own tutorials and have "standardized" their libraries usage syntax.
FWIW,我不喜欢称数学为“m”(或者正如一位评论者建议的那样,“os as o”);对于像我这样笨拙的程序员来说,单名变量是一场灾难......
我还想向您指出首先包含“as”语法的理由,这通过消除可能的名称冲突来证明它的合理性(如果您导入cos
from scipy
和来自sympy
,你可能会过得很糟糕)。使用它来缩写已经遵守 PEP 命名标准的名称(首先是简短易读),听起来即使方便,也不应该得到正式认可。
在一个有趣的例子中:here, sympy
and scipy
两人都尝试在短时间内使用相同的缩写,导致了我们希望避免的问题(虽然scipy
现在建议完全不要使用缩写词,显然)
脚注
- 谷歌也有一个风格指南;他们建议 using
import...as
“仅当[它]是标准缩写时(例如,np
for numpy
)”。抱歉,他们也推迟了:)
- 不是吹毛求疵,但你的问题是“我正在改变all... [导入语句]”(强调我的)。需要明确的是,您链接的问题说“那么,在一个或另一个之间进行选择,应该基于编码风格。”有时导入函数或在我看来,直接类是完全明确的。例如,sklearn教程包含“GaussianProcessRegressor”导入的示例不需要执行任何命名空间或缩写。只有您可以知道您的应用程序,但在大多数情况下可以安全地假设该名称足够唯一
- 这个也可以用作为版本控制黑客。我有时会这样使用它,但我不确定如何推荐该策略
- 有些人了解会话技术使用“别名”一词
- Reddit 也没有列表
- 为了澄清评论中的问题,“第三方但标准”和“第三方”之间的界限非常非正式,并不意味着神圣
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)