关于 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() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用。