python str()/repr()

转载 2016年08月30日 18:44:55

尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。

但str()则有所不同,str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再次提醒的是,并不是所有repr()返回的字符串都能够用 eval()内建函数得到原来的对象。 也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。

虽然如此,很多情况下这三者的输出仍然都是完全一样的。 大家可以看下下面的代码,来进行对比

>>> s = 'Hello, world.'
>>> str(s)
'Hello, world.'
>>> repr(s)
"'Hello, world.'"
>>> str(0.1)
'0.1'
>>> repr(0.1)
'0.10000000000000001'
>>> x = 10 * 3.25
>>> y = 200 * 200
>>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'
>>> print s
The value of x is 32.5, and y is 40000...
>>> # The repr() of a string adds string quotes and backslashes:
... hello = 'hello, world\n'
>>> hellos = repr(hello)
>>> print hellos
'hello, world\n'
>>> # The argument to repr() may be any Python object:
... repr((x, y, ('spam', 'eggs')))
"(32.5, 40000, ('spam', 'eggs'))"

相关文章推荐

python核心编程:repr()与str()的区别

repr repr(object) 返回一个可以用来表示对象的可打印字符串 首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象  否则,生成用尖括号包住的字符串,...

学习Python:repr和str的区分

基于Python 2.7.9 Docmentation中repr和str的说明  repr(object) Return a string containing a printable represe...

Python--str与repr以及eval的使用方法

之前自己也学过一些Python,但是由于后来并没有使用Python做一些练习,加上自己还是比较喜欢C语言,所以有些生疏了。想要重新开始进行Python的学习,在runoob.com学习Python数据...

Python内建函数str,repr解析

闲话不多说,我们开门见山:         直白来说,__str__和__repr__的作用是为了给使用者提供更好展示体验。在没有这哥俩的情况下效果如下:          class Test(...

python print str repr pprint

python print str repr pprint

python之repr()和str()的区别

repr repr(object) 返回一个可以用来表示对象的可打印字符串 首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 否则,生成用尖括号包住的字符串,包...

Python中__repr__和__str__区别

看下面的例子就明白了class Test(object): def __init__(self, value='hello, world!'): self.data = val...

str()和repr()(及''操作符)以及python对json的简单操作

str(),epr()和''运算在特性和功能方面相似,事实上repr()和''做的是完全一样的事情(函数和操作符做同样一件事,是因为在有的场合函数会比操作符更合适),它们返回的是一个对象的“官方”字符...

[python]python中str()与repr()的区别与联系

搜了好些博文,说了有一堆废话,也没几个讲清楚python中str()与repr()的区别与联系,于是写此文。首先,上英文原文The str() function is meant to return ...

__repr__与__str__

这两者主要是用来显示、打印对象。那么他们有什么区别和关联呢。 首先说下str()和repr内建函数,概括的说str()返回值是给人看的,repr()是给机器看的,而repr()函数得到的字符串通常可...
  • yiweis
  • yiweis
  • 2014年06月01日 17:29
  • 1652
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python str()/repr()
举报原因:
原因补充:

(最多只允许输入30个字)