object.__setstate__
Позволяет описать действия, необходимые для расконсервирования экземпляра класса.
object.__setstate__(self, state)
-> None
self -- Ссылка на экземпляр.
state -- Объект, по данным которого требуется восстановить (расконсервировать) экземпляр класса. Обычно словарь, который станет словарём атрибутов данного экземпляра.
state -- Объект, по данным которого требуется восстановить (расконсервировать) экземпляр класса. Обычно словарь, который станет словарём атрибутов данного экземпляра.
Метод получает на вход объект, который был возвращен при помощи __getstate__() непосредственно перед консервированием.
Внимание
По умолчанию в ходе расконсервирования, вызова __init__() не происходит. Инициализацией атрибутов класса в этом случае занимается как раз
__setstate__
. import pickle
class My(object):
def __init__(self, x):
self.x = x
def __getstate__(self):
return {'special_x': self.x}
def __setstate__(self, state):
# state - то, что вернулось из __getstate__
self.x = state['special_x']
dumped = pickle.dumps(My(33))
my = pickle.loads(dumped)
my.x # 33
На заметку
Это один из методов протокола консервирования (
pickle
).
Синонимы поиска: object.__setstate__, object, __setstate__
В разделе «object (объект)»:
file (файл)
object.__add__
object.__bool__
object.__call__
object.__ceil__
object.__class__
object.__cmp__
object.__contains__
object.__copy__
object.__deepcopy__
object.__del__
object.__delattr__
object.__delete__
object.__delitem__
object.__delslice__
object.__dir__
object.__enter__
object.__eq__
object.__exit__
object.__floor__
object.__format__
object.__ge__
object.__get__
object.__getattr__
object.__getattribute__
object.__getitem__
object.__getslice__
object.__getstate__
object.__gt__
object.__hash__
object.__init__
object.__init_subclass__
object.__iter__
object.__le__
object.__len__
object.__lt__
object.__missing__
object.__ne__
object.__new__
object.__next__
object.next
object.__nonzero__
object.__qualname__
object.__rcmp__
object.__repr__
object.__reversed__
object.__set__
object.__setattr__
object.__setitem__
object.__set_name__
object.__setslice__
object.__slots__
object.__str__
object.__sub__
object.__subclasses__
object.__unicode__
property (свойство)
Protocols (протоколы)
slice (срез)
Встроенные исключения
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.