在Python中将";导入为&q;的用例
问题描述
我想知道我们是否可以使用"import as
"来创建相对紧凑或可读的代码。我知道它通常基于PEP的用例,比如避免名称冲突。
以下是情况(出于演示目的,请保持非常简单)。假设我有一个模块名称,Process_words.py。
process_words.py:
def word_to_lower(word):
return word.lower
PROCESS_TIRTHLE.py(让主脚本):
import process_words
word = "HELLO"
word_lower = process_words.word_to_lower(word)
print(word_lower)
现在这样做是好还是坏?:
import process_words as pw
word = "HELLO"
word_lower = pw.word_to_lower(word)
print(word_lower)
这是一个非常简单的例子。我有几个模块,每个模块都有几个功能。不能使用from module import something
导入每个函数。对我来说,我觉得如果我将IMPORT与一些快捷名称一起使用,它将提高代码的可读性。有什么想法吗?
注意:我在这里指的是定制模块。
解决方案
通常应尽可能避免这种情况。
然而,当进口名称无处不在时,它会产生很大的影响,例如Numpy是Alwaysnp
, pandas 是Alwayspd
。你不应该去查名字,你坐在一个看不见的代码库前面:你看到了np.array
你知道发生了什么。虽然它只稍微短了一点,但可以更容易地跳过。
我以前用过一个FASK应用程序做到了这一点,它是对(可测试的)模块的一个非常薄的包装。
如果它只是一个内部API(其含义从上下文中完全清楚),那么可能将其命名为pw.py
而不是process_words.py
是有意义的。我想这个词有点短,但是words.py
可能用得很好(但是"process"这个词有点笼统,所以我可能会找一个更具体的动词...)。
上下文很重要,作为words
的子模块,例如,将其命名为funcs
可能是有意义的。
相关文章