关于python导入,我还没有掌握一些东西。我读了几十篇文章,但没有找到令人满意的答案。情况如下:
我正在写一个由几个模块组成的包。假设包的名称为
pack1
.在
__init__.py
文件中,为了公开我在模块中定义的类和函数,我写道:
from .module1 import *
from .module2 import *
...
现在,在模块1中:
from math import sqrt # a tool that I need
class class1:
<body>
class class2:
<body>
....
class class100:
<body>
我的问题是当我
import pack1
在另一个项目中,
我明白了
sqrt
在里面
pack1
的命名空间
。我是否必须在
__init\uuuu。py公司
文件以避免这种情况并保持我的命名空间干净?我必须对中的inspect模块进行一些黑客攻击吗
__init\uuuu。py公司
为了识别已定义但未导入的类(我认为这会很难看)?或者,正如我所怀疑的,我在应该如何处理模块结构或导入语句的问题上犯了一些错误?