2

特定のクラスのオブジェクトをピクル解除する方法を定義するとき、 __setstate__ を介して安全に実行できることを収集します

def __setstate__(self, dict_returned_by_pickle):
    self.__dict__.update(dict_returned_by_pickle)

pickle 状態がディクショナリの場合。これは、stackoverflow の回答で見たものです。

ただし、これは、呼び出されself.__dict__たときに何らかのデータが含まれている場合に備えて取られる安全対策ですか? __setstate__または、単に実行するよりも高速でクリーンですか

self.__dict__ = dict_returned_by_pickle

古いものを強制self.__dict__的にガベージコレクションするのはどれですか?

4

1 に答える 1

0

交換しても大丈夫です。それがボーグパターンが行うことです。

他に参照がない場合、元のdictはガベージコレクションされます。

于 2010-02-08T11:55:12.017 に答える