我有一个名为Python包a带有两个文件__init__.py和b.
a/
a/__init__.py
a/b.py
Run Code Online (Sandbox Code Playgroud)
文件内容:
# a/__init__.py
from .b import *
Run Code Online (Sandbox Code Playgroud)
和
# a/b.py
c = 1
Run Code Online (Sandbox Code Playgroud)
当我a在Python中导入时,为什么我可以a.b直接使用?我很困惑,因为我没有b明确导入a/__init__.py.
如果我使用空 a/__init__.py,那么b在a命名空间中没有.所以它似乎from .b import *(或from .b import c)也是重要的b,为什么?
我已经检查了Python文档和SO中的几个帖子,但没有找到相关问题.
我想要所有的东西,b但不是b自己a,然后我可以修改a/__init__.py为
# a/__init__.py
from .b import *
del b
Run Code Online (Sandbox Code Playgroud)
这个好吗?
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |