摘自:改善Python程序的91个建议
1. 相同点
都可以将Python中的对象转换为字符串。
2. 区别
1. 两者目标不同
repr() 面向 Python 解释器,其目的是准确性,其返回值表示 Python 解释器内部含义,常作为编程人员 debug 用
str() 面向用户,其目的是可读性, 返回形式为用户友好性和可读性都较强的字符串类型。
2. 在解释器中直接输入 a 时默认的是repr() 函数,而 print() 则调用 str() 函数。
3. 这两个方法分别调用类中的 __str()__ 和 __repr()__ , 一般来说类中都应该定义 __repr()__ 方法,而另外一个则为可选实现方法,