我有一个wxPython应用程序,它在各自的模块中使用各种GUI类,名为gui
。使用此设置,导入主窗口将按如下方式完成:
from gui.mainwindow import MainWindow
对我来说这看起来很乱,所以我更改了
包的__init__.py
__init__.py
文件,将类直接导入包名称空间:
gui
这允许我像这样导入主窗口:
from mainwindow import MainWindow
这在美学上看起来更好,我认为它也更接近于我正在做的事情(从from gui import MainWindow
“命名空间”导入MainWindow
类)。我制作gui
包的原因是为了将所有GUI内容保持在一起。我可以轻松地创建一个gui
模块并填充其中的所有GUI类,但我认为这将是无法管理的。该软件包现在看起来像一个模块,但允许我将类分成它们自己的模块(以及辅助函数等)。
这整件事让我觉得有点小气,我只是觉得我会把它扔到那里看看其他人对这个想法的看法。
答案 0 :(得分:5)
嗯,这是一种非常常见的模式,我认为这也是 为什么你可以在__init__.py
文件中包含内容的原因。
作为确认,只需grep __init__.py
文件中的import语句,您就会发现它在标准库和公共包中都被广泛使用。