__str__
和__repr__
Python和有什么不一样?
__repr__
:python对象的表示形式,通常eval会将其转换回该对象
__str__
:是您所认为的文本形式的对象
例如
>>> s="""w'o"w"""
>>> repr(s)
'\'w\\\'o"w\''
>>> str(s)
'w\'o"w'
>>> eval(str(s))==s
Traceback (most recent call last):
File "", line 1, in
File "", line 1
w'o"w
^
SyntaxError: EOL while scanning single-quoted string
>>> eval(repr(s))==s
True