python 的__str__和__repr__有什么区别?

__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

本文首发于python黑洞网,csdn同步跟新

你可能感兴趣的:(python)