【发布时间】:2021-09-06 08:14:34
【问题描述】:
在python 3中执行import a.b.c时遵循the documentation,依次执行以下文件:a/__init__.py、a/b/__init__.py和a/b/c/__init__.py。
我想知道a/b/__init__.py 怎么可能如下:
import a.b.c
即__init__.py中的绝对导入:如果我按照推理,我应该在导入b时进入无限循环:
- 执行
a/__init__.py - 执行
a/b/__init__.py- 执行
import a.b.c- 执行
a/b/__init__.py
- 执行
- 执行
等等等等。
但是它确实有效并将c 添加到b 命名空间。
附带问题:对__init__.py 文件使用绝对导入还是相对导入?
【问题讨论】:
标签: python-3.x import