菜鸟求大大们解释Python里str函数和repr函数的区别
王志恺
2023-06-08 20:58:18
共 1 个回答
常瑾萱
2023-06-12 06:49:24
1、说明:
函数str()用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。这是从python官方手册翻译的手册内容。
2、示例:
代码
import datetime
now = datetime.datetime.now()
print(str(now))
print(repr(now))
print(eval(repr(now)))
程序输出:
2016-06-09 10:41:07.388009
datetime.datetime(2016, 6, 9, 10, 41, 7, 388009)
2016-06-09 10:41:07.388009
代码说明:
1)datetime为内置模块,import加载模块。
2)now = datetime.datetime.now() 系统当前时间赋值给time变量。
3)这里就可以看出str和repr输出有区别了。
4)eval函数是把参数当作代码执行,验证repr之后的字符串可被python识别并执行。
3、官方文档:
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
使用给定对象的新字符串对象。如果编码或错误是指定的,那么对象必须公开数据缓冲区将使用给定的编码和错误处理程序进行解码。否则,返回的对象私有函数__str()__的结果。
repr(obj, /)
返回对象的规范的字符串表示。对于许多对象类型,包括大多数内建,eval(repr(obj)) == obj.
阅读原文