为什么在腌制后在Python isinstance中出现意外行为?

为什么在腌制后在Python isinstance中出现意外行为?,第1张

为什么在腌制后在Python isinstance中出现意外行为?

这是取消选取程序的工作方式(site-packages / pickle.py):

def find_class(self, module, name):    # Subclasses may override this    __import__(module)    mod = sys.modules[module]    klass = getattr(mod, name)    return klass

查找并实例化一个类。

因此,当然,如果将一个类替换为一个具有相同名称的类,则

klass = getattr(mod,name)
将会返回新类,并且该实例将属于该新类,因此isinstance将失败。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存