gpt4 book ai didi

python - 直接在包的命名空间中公开 Python 包内模块内的类

转载 作者:太空狗 更新时间:2023-10-29 17:50:26 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com