python中str()与repr()函数的区别

共同点:

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
原文地址:https://www.cnblogs.com/ydbk/p/14597475.html