使用案例"导入为"在Python中

时间:2017-10-18 09:16:46

标签: python python-3.x python-import python-module pep8

我想知道我们是否可以使用" unsigned long"用于创建相对紧凑或可读的代码。我知道它基于PEP的常用用例,例如使名称冲突无效。

情况如此(为演示目的保持简单)。我们假设我有一个模块名称process_words.py。

process_words.py:

case

process_article.py(让主脚本):

65535

现在做这样的事情是不好或好的做法?:

import as

这是一个非常简单的例子。我有几个模块,每个模块都有几个功能。使用def word_to_lower(word): return word.lower 导入每个功能不是一个选项。对我来说,感觉就像,如果我使用import作为一些快捷方式名称,它将提高代码的可读性。有什么想法吗?

注意:我在这里指的是自定义模块。

2 个答案:

答案 0 :(得分:4)

一个实际问题是您开始更改使用的库或模块,以及在不更改代码的情况下切换实际导入的位置:import somemodule将变为import newmodule as somemodule

这是我在try-except块中使用Python 2/3兼容性代码时所做的事情(我想像six这样的包有很多这个)。例如:

try:
    # Are we using Python 2?
    import StringIO as io
except ImportError:
    # No, we're using Python 3 instead
    import io

答案 1 :(得分:2)

通常应尽可能避免这种情况。

然而,当导入名称无处不在时,它会被用来产生很好的效果,例如numpy 总是 np,pandas 总是 pd 。您不应该查找名称,而是坐在看不见的代码库前面:您看到np.array您知道发生了什么。虽然它只是略短,但可以更容易地跳过它。

另一个可能有用的时间是在一个模块中,在任何地方使用另一个模块,每几行或十行是这个模块的标注。然后我会考虑使用as import来减少文件的大小(用于读取) 我之前使用烧瓶应用程序做了这个,这个应用程序是一个非常薄的包装(可测试)模块。

如果它只是一个内部API(并且上下文中的含义完全清楚),那么将它命名为pw.py而不是process_words.py也许是有意义的。 IMO在短边方面有点偏差,但words.py可能效果很好(但是#34;过程"有点像通用词,所以我可能会看一个更具体的动词。 )。
上下文很重要,作为words的子模块,将其称为funcs可能是有意义的。