2

当通过__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__的垃圾收集?

4

1 回答 1

0

换掉就好了。这就是博格模式的作用。

如果没有其他引用,原始 dict 将被垃圾收集。

于 2010-02-08T11:55:12.017 回答