在许多导入代码的方式中,是否有一些方式比其他方式更可取?这个链接http://effbot.org/zone/import-confusion.htm简要说明:
from foo.bar import MyClass
在正常情况下或者你不知道自己在做什么的情况下,import MyClass
不是首选的导入方式。相反,更好的方式是:
import foo.bar as foobaralias
然后在代码中,要访问 MyClass,请使用
foobaralias.MyClass
简而言之,上面提到的链接说,通常最好从一个模块中导入所有内容而不是仅导入模块的部分内容。
然而,我引用的那篇文章实在太老了。
我也听说,在Django项目的情况下,最好仅导入你想要使用的类,而不是整个模块。有人说,这种方式有助于避免循环导入错误,或者至少使django的导入系统更加健壮。 有人指出,Django自己的代码似乎更喜欢“从x导入y”而不是“导入x”。
假设我们正在处理的项目没有使用__init__.py
的特殊功能......(我们所有的__init__.py
文件都是空的),那么我应该选择哪种导入方法,为什么?
from myapp import utils; utils.frobnicate()
呢? - Joschuafrobnicate
是从哪里导入的。 - John Millikin