菜鸟求大大们解释Python里str函数和repr函数的区别
展开全部
我个人的理解是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__。
参考阅读:
Different Between __str__ and __repr__: http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python
str() vs repr() in Python 2.7.5: http://stackoverflow.com/questions/19331404/str-vs-repr-functions-in-python-2-7-5
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询