Even �考文章

关于 str() 和 repr() 的区别

str()和repr()输出的都是 str 类型

>>> a = 10
>>> type(str(a))
<class 'str'>
>>> type(repr(a))
<class 'str'>

但是 str() 更注��读性,repr() 更注�数�本身的信�:

>>> from datetime import datetime
>>> now = datetime.now()
>>> print(str(now))
2017-04-22 15:41:33.012917
>>> print(repr(now))
datetime.datetime(2017, 4, 22, 15, 41, 33, 12917)

结论:

  • str() 的输出追求å�¯è¯»æ€§ï¼Œè¾“出格å¼�è¦�便于ç�†è§£ï¼Œé€‚å�ˆç”¨äºŽè¾“出内容到用户终端。
  • repr() 的输出追求明确性,除了对象内容,还需è¦�展示出对象的数æ�®ç±»åž‹ä¿¡æ�¯ï¼Œé€‚å�ˆå¼€å�‘和调试阶段使用。