菜鸟求大大们解释Python里str函数和repr函数的区别

 我来答
礻斤丶
2015-09-14 · TA获得超过4308个赞
知道大有可为答主
回答量:1544
采纳率:100%
帮助的人:1778万
展开全部

我个人的理解是str主要是返回一个用户友好可读的文本,而repr则更为严谨。

简单的例子:

>>> s = "Hello"
>>> print str(s)
Hello
>>> print repr(s)
'Hello'
>>> a = 4.0/3
>>> print str(a)
1.33333333333
>>> print repr(a)
1.3333333333333333

可以看出repr中print结果刻意保留引号来表示其为str类型,而后面一个也在精度上显示更多,对应的str方法则更注重可读性,去掉不重要的内容。

当然这个并不是一定的,有的时候如果类中__str__方法没有定义则会默认采用__str__=__repr__。


参考阅读:

  1. Different Between __str__ and __repr__: http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python

  2. str() vs repr() in Python 2.7.5: http://stackoverflow.com/questions/19331404/str-vs-repr-functions-in-python-2-7-5

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式