从__init__.py中导入类以产生更短的import语句的任何问题?

时间:2012-06-08 22:19:13

标签: python

为了组织起见,我将每个班级都保存在自己的文件中。我还有用于将GUI对象与常规对象分开的文件夹。我正在考虑从模块的 init .py中导入类以使导入更整洁。

例如,而不是:

from myapp.widgets.preferencesdialog import PreferencesDialog

我会从PreferencesDialog中导入widgets/__init__.py,以便应用的其余部分只需要执行:

from myapp.widgets import PreferencesDialog

我是否会遇到这种方法的任何问题?

1 个答案:

答案 0 :(得分:3)

只要您在PreferencesDialog试图将其放入其名称空间的单独文件中没有多个名为myapp.widgets的类,该方法就没有任何问题。

from preferencesdialog import *内避免使用myapp.widgets,您需要向myapp.widgets命名空间显式添加任何新项,但您将避免from ... import *带来的所有问题}。