2024-04-27 03:23:17 发布
网友
我有以下代码
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
my_module
MyClass
my_module.MyClass
问题的答案隐藏在行中,您可以在那里重新加载模块。在这样的重新加载之后,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
问题的答案隐藏在行中,您可以在那里重新加载模块。在这样的重新加载之后,python重新编译整个模块,重新创建其中的所有对象并加载它
因此,在重新加载模块时,会创建一个全新的类
MyClass
,它与以前的对象不同您可以检查以下代码:
相关问题 更多 >
编程相关推荐