python创建自定义包
python中自定义包时,初始化文件的书写规范
1. 项目结构示例
SmodernUI/
:
1 | SmodernUI/ |
2. 根目录的 __init__.py
文件
在根目录下,你可以添加一个 __init__.py
文件导入整个库的核心模块。这样,用户只需导入库本身时,就能够轻松访问库中的重要功能。
SmodernUI/__init__.py
:
1 | # 导入核心模块 |
3. 子包中的 __init__.py
文件
比如在子包 component/
,在component/
目录下的每个子目录(例如 ui/
, widget/
, window/
)中添加一个 __init__.py
文件,以便更清晰地组织每个子包。
component/ui/__init__.py
:1
2
3
4
5# component/ui/__init__.py
# 导入UI相关的模块
from .UI_message import *
from .UI_tip import *component/widget/__init__.py
:1
2
3
4
5# component/widget/__init__.py
# 导入Widget相关的模块
from .button import *
from .tip import *component/window/__init__.py
:1
2
3
4# component/window/__init__.py
# 导入window相关的模块
from .message import *
同样地,在 core/
目录下,你可以添加一个 __init__.py
文件来导入相关的核心模块。
core/__init__.py
:1
2
3
4
5
6# core/__init__.py
# 导入核心功能模块
from .color import *
from .animation import *
from .func import *
3. 模块内部的互相导入
在模块内部,你可以使用相对导入来导入其他模块。例如,在 message.py
中,你可以这样导入 Ui_message.py
,globals.py
:
component/ui/Ui_message.py
:
1 | from ..ui import Ui_message 或者 from ..ui.Ui_message import * |
4. 外部导入方法
假设已经按照上述方式创建了 __init__.py
文件,现在可以方便地导入模块。
1 | import SmodernUI |
如果只需要部分功能,也可以按需导入:
1 | from SmodernUI import color, UI_message, button |
总结
- 在每个子目录中创建
__init__.py
文件来组织包内模块的导入。 - 在根目录的
__init__.py
中导入核心模块和常用功能,提供简洁的访问方式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ichinoseyuu的秘密基地!