repr() 和 str() 都是 Python 中的内置函数,它们用于将对象转化为字符串。但两者的应用场景和返回结果有所不同。

str() 给用户看;repr给开发者看,更原始,通常在交互式环境下或者使用repr()函数时也会被调用,利于调试。

自写的重构方法__repr__和__str__完全取决于自己怎么写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
s="物品\t单价\t数量\n包子\t1\t2"
m='123'

print(s)
print(repr(s))

print(m)
print(repr(m))


# 物品 单价 数量
# 包子 1 2
# '物品\t单价\t数量\n包子\t1\t2'
# 123
# '123'

可以看到,repr自动不转义,表现了字符串的类型,保持原始