Определяя, как объекты определенного класса должны быть выделены, через __ 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__
собирать мусор?