关于 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-2215:41:33.012917
>>>print(repr(now))
datetime.datetime(2017,4,22,15,41,33,12917)
结论:
- str() 的输出追求可读性,输出格式要便于理解,适合用于输出内容到用户终端。
- repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用。