共同点:
1:都可以将某一类型的变量或者常量转换为字符串对象
2:对于一般数据类型两者显示没有什么区别
不同点:
1:目标不同:
str()主要面向用户,其目的是可读性,返回形式为用户友好性和可读性都较强的字符串类型;
repr()面向的是python解释器,或者说开发人员,其目的是准确性,其返回值表示python解释器内部的含义,常作为编程人员debug用途。
repr()的返回值一般可以用eval()函数来还原对象,通常来说有如下等式:
obj = eval(repr(obj))
import datetime
today = datetime.datetime.now() str(today)
#输出: '2016-09-15 06:58:46.915000'
repr(today)
# 输出: 'datetime.datetime(2016, 9, 15, 6, 58, 46, 915000)'
详细参考此链接
https://www.zhihu.com/question/307700262/answer/1697618601