我越来越多地使用Python,并且我一直__all__在不同的__init__.py文件中看到变量集.有人可以解释这是做什么的吗?
我应该用吗?
from foo import bar
Run Code Online (Sandbox Code Playgroud)
要么
import foo.bar as bar
Run Code Online (Sandbox Code Playgroud)
当导入模块,并和有改变名字没有必要/愿望(bar)?
有什么不同吗?有关系吗?
我一直使用from a import b,但最近一个团队在工作决定一个模块移动到一个新的命名空间,并发出警告通知,告诉人们,以取代import b用import a.b as b.
我从未使用过import as,我能找到的唯一文档似乎表明它不支持import a.b as b,但显然它确实如此.
但实际上是否存在差异,如果是这样的话?
我想知道我们是否可以使用“ import as”来创建相对紧凑或可读的代码。我知道它基于PEP 的常见用例,例如避免名称冲突。
情况如下(出于演示目的,保持非常简单)。假设我有一个模块名称 process_words.py。
process_words.py:
def word_to_lower(word):
return word.lower
Run Code Online (Sandbox Code Playgroud)
process_article.py(让主脚本):
import process_words
word = "HELLO"
word_lower = process_words.word_to_lower(word)
print(word_lower)
Run Code Online (Sandbox Code Playgroud)
现在做这样的事情是坏还是好?:
import process_words as pw
word = "HELLO"
word_lower = pw.word_to_lower(word)
print(word_lower)
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的例子。我有几个模块,每个模块都有几个功能。导入每个函数from module import something并不是一种选择。对我来说,感觉如果我将 import as 与某些快捷方式名称一起使用,它将提高代码的可读性。有什么想法吗?
注意:我在这里指的是自定义模块。