为了向 @dbr's 答案添加我的两分,下面是一个示例,它是如何从他引用的官方文档实现这个句子的示例:"[...] 返回将在传递给 eval(), [...] 时具有相同值的对象的字符串"
给定此类定义: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)
现在,很容易序列化 Test 类的实例:x = Test('hello', 'world')
print 'Human readable: ', str(x)
print 'Object representation: ', repr(x)
y = eval(repr(x))
print 'Human readable: ', str(y)
print 'Object representation: ', repr(y)
所以,运行最后一段代码,我们将得到: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")
但是,就像我在最后一条评论中所说的: 更多信息只是这里的 !