2024-06-17 16:40:18 发布
网友
我有一个MyPak包和一个MyMod模块。文件按以下方式组织:
somedir/MyPak/MyMod.py
在MyMod.py公司只有一个名为MyMod的类
在目录somedir/MyPak中,如果我执行导入:
import MyMod
我把MyMod作为模块导入。在
但在目录somedir/中,如果我这样做的话
我把MyMod作为类而不是模块导入。为什么会这样?在
此行为表示您有一个文件:
somedir/MyPak/__init__.py
其中您可以执行以下操作:
当您import MyPak时,它将从__init__.py导入—同样,当您from MyPak import something时,它将尝试从名称空间中提取包,该名称空间将查看__init__.py
import MyPak
__init__.py
from MyPak import something
因为您从MyMod导入了__init__.py中的所有内容,现在该类是MyPak包的本地类,并屏蔽了MyMod.py文件。在
MyMod
MyPak
MyMod.py
此行为表示您有一个文件:
其中您可以执行以下操作:
^{pr2}$当您
import MyPak
时,它将从__init__.py
导入—同样,当您from MyPak import something
时,它将尝试从名称空间中提取包,该名称空间将查看__init__.py
因为您从
MyMod
导入了__init__.py
中的所有内容,现在该类是MyPak
包的本地类,并屏蔽了MyMod.py
文件。在相关问题 更多 >
编程相关推荐