从模块导入的类与从modu访问的类不匹配

2024-04-27 03:23:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码

import imp
from my_module import MyClass
import my_module

imp.reload(my_module)
print(MyClass == my_module.MyClass) # Result is False

为什么从my_module导入的MyClass不等于my_module.MyClass


Tags: 代码fromimportfalseismymyclassresult
1条回答
网友
1楼 · 发布于 2024-04-27 03:23:17

问题的答案隐藏在行中,您可以在那里重新加载模块。在这样的重新加载之后,python重新编译整个模块,重新创建其中的所有对象并加载它

因此,在重新加载模块时,会创建一个全新的类MyClass,它与以前的对象不同

您可以检查以下代码:

import imp
from my_module import MyClass
import my_module
print(MyClass == my_module.MyClass) # Result is True
imp.reload(my_module)
print(MyClass == my_module.MyClass) # Result is False

相关问题 更多 >