Чтобы добавить мои два цента к ответу @ dbr, ниже приведен пример того, как реализовать это предложение из официальной документации, которую он привел:
"[...], чтобы вернуть строка, которая даст объект с тем же значением при передаче в eval (), [...] "
blockquote>Учитывая это определение класса:
class Test(object): def __init__(self, a, b): self._a = a self._b = b def __str__(self): return "An instance of class Test with state: a=%s b=%s" % (self._a, self._b) def __repr__(self): return 'Test("%s","%s")' % (self._a, self._b)
Now , легко сериализовать экземпляр класса
Test
:x = Test('hello', 'world') print 'Human readable: ', str(x) print 'Object representation: ', repr(x) print y = eval(repr(x)) print 'Human readable: ', str(y) print 'Object representation: ', repr(y) print
Итак, запустив последний фрагмент кода, мы получим:
Human readable: An instance of class Test with state: a=hello b=world Object representation: Test("hello","world") Human readable: An instance of class Test with state: a=hello b=world Object representation: Test("hello","world")
Но, как я уже сказал в моем последнем комментарии: больше информации просто здесь !