当通过__setstate__定义某个类的对象应该如何被取消腌制时,我认为这样做是安全的
def __setstate__(self, dict_returned_by_pickle):
self.__dict__.update(dict_returned_by_pickle)
当腌制状态是字典时。这是我在 stackoverflow 上的答案中看到的。
但是,这是一种安全措施,以防万一在调用self.__dict__
时包含一些数据?__setstate__
或者它只是比做更快更干净
self.__dict__ = dict_returned_by_pickle
这迫使旧self.__dict__
的垃圾收集?