- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 wxPython 应用程序,在一个名为 gui
的包中,各种 GUI 类在它们自己的模块中.使用此设置,导入主窗口将按如下方式完成:
from gui.mainwindow import MainWindow
这对我来说看起来很乱,所以我更改了 <code>__init__.py</code>
gui
的文件package 将类直接导入包命名空间:
from mainwindow import MainWindow
这允许我像这样导入主窗口:
from gui import MainWindow
这在我看来在美学上更好,我认为它也更接近地代表了我正在做的事情(从 MainWindow
“ namespace ”导入 gui
类)。我制作 gui
的原因package 是为了将所有 GUI 的东西放在一起。我本可以很容易地制作一个 gui
模块并在其中填充所有 GUI 类,但我认为那将是难以管理的。该包现在看起来像一个模块一样工作,但允许我将类分离到它们自己的模块中(连同辅助函数等)。
这整件事让我觉得有些琐碎,我只是想把它扔出去看看其他人对这个想法的看法。
最佳答案
好吧,这是一个很常见的模式,我认为这也是 您可以将内容包含在 __init__.py
文件中的原因。
作为确认,只需对 __init__.py
文件中的 import 语句进行 grep,您将看到它广泛用于标准库和通用包中。
关于python - 直接在包的命名空间中公开 Python 包内模块内的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2618425/
我在一个 twig 模板中使用 Assetic 来指定要从我的包中使用的 2 个 JS 文件 { % javascripts '@JiraExtendedReportsBund
我正在做一个 VS 包,它在菜单中有一个 DynamicItemStart 按钮。我在 VS 启动时加载动态按钮的内容没有任何问题,但我试图在某些事件(例如打开项目)之后向其内容添加更多命令。我将新命
需求是从plsql调用java方法,我可以通过loadjava命令来实现它。我遵循的步骤是: 第 1 步:创建 Java Class/jar 文件并将其放置在 Unix 机器上 第2步:将Java C
我是一名优秀的程序员,十分优秀!