cuốn sách gpt4 ai đã làm

python - 如何构建模块以避免出现类似 "import module.module.module"的情况

In lại Tác giả: Walker 123 更新时间:2023-11-28 17:37:15 30 4
mua khóa gpt4 Nike

我有一个结构如下的模块:

/module
__init__.py
/submod_1
__init__.py
submod_1_class.py
/submod_2
__init__.py
submod_2_class.py

但我发现必须在 submod_1_class.py 中导入一个类非常烦人:

from module.submod_1.submod_1_class import my_class

我希望能够输入的是:

from module import my_class

我浏览了 site-packages 文件夹并查看了流行的模块,如 numpy,但我一直无法弄清楚如何,例如:

import numpy
a = numpy.array([1,2,3,4,5])

可以在 numpy 数组对象的定义深埋在 numpy 包的几个子文件夹中时使用。

câu trả lời hay nhất

Bạn có thể sử dụng __init__.py 文件来定义可以从给定模块导入的内容。例如,对结构的一个非常简单的添加将从 submod_1_class 中提取 Class,这样外部用户就可以简单地 from module import Class.

/module
__init__.py
from submod_1 import Class
/submod_1
__init__.py
from submod_1_class import Class
submod_1_class.py
/submod_2
submod_2_class.py

例如,在 numpy 中,顶级 __init__.py Bao gồm a line上面写着:

from .core import *

这意味着 /core/__init__.py 中定义的所有内容可以在 numpy 命名空间中直接在外部使用,即使它实际上可能深埋在一些复杂的结构中。

关于python - 如何构建模块以避免出现类似 "import module.module.module"的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222428/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress