在导入代码的各种方式中,与其他方法相比,有哪些方法可以使用?这在短期 链接http://effbot.org/zone/import-confusion.htm指出Python(和Django)最佳导入实践
from foo.bar import MyClass
不导入正常情况下,或者除非你知道自己在做什么MyClass的首选方式。 (更确切地说,一个更好的办法想:
import foo.bar as foobaralias
,然后在代码中,访问MyClass的使用
foobaralias.MyClass
)
总之,似乎上述引用链接说这是通常更好地导入从模块,而不是只是部分模块的一切。
但是,我链接的那篇文章真的很老。
我也听说,至少在Django项目的上下文中,反而只导入要使用的类,而不是整个模块更好。据说这种形式有助于避免循环导入错误,或者至少使django导入系统更脆弱。有人指出,Django自己的代码似乎更喜欢“从x导入y”到“导入x”。
假设我正在处理的项目没有使用__init__.py
的任何特殊功能...(我们的所有__init__.py
文件都是空的),我应该使用哪种导入方法,为什么?
因此,test.py中的所有内容都已运行。对此的特定异常可能在您导入实现模型(表示数据库表)的类的Django中。在这种情况下,最好说“从django.contrib.auth导入用户”。但正如我所说,这是一个特定于特定环境的惯例。 – 2009-11-10 03:13:05
从myapp导入utils怎么样; utils.frobnicate()'? – Joschua 2010-09-16 09:59:14
Joschua:这很好,因为任何人都可以看到'frobnicate'从哪里进口。 – 2010-09-16 17:23:23