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'))"

str和repr的区别

Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。 例如:>>> "Hello, ...
  • u013961718
  • u013961718
  • 2016年04月08日 22:45
  • 10423

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

str()一般是将数值转成字符串。 repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。如list,dict使用str()是无效的,但使用repr可以,这是为...
  • longshenlmj
  • longshenlmj
  • 2013年07月24日 15:05
  • 8965

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

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

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

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

Python repr() 或str() 函数

Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的 语法,则会...
  • u010736419
  • u010736419
  • 2015年02月28日 17:23
  • 2416

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

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

Python中str()与__str__、repr()与__repr__、eval()、__unicode__的关系与区别

首先先弄清楚str()与__str__、repr()与__repr__ 的区别,str()与repr()都是python中的内置函数,是直接用来格式化字符串的函数。而__str__与__repr__ ...
  • foryouslgme
  • foryouslgme
  • 2016年06月13日 15:26
  • 2021

python str和repr的区别

python str和repr的区别 如果你是一个初学者,那么: 尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的...
  • IT_DREAM_ER
  • IT_DREAM_ER
  • 2015年11月19日 20:45
  • 478

python 的特殊方法 __str__和__repr__

__str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object):     def __init__(self,...
  • cscscscsc
  • cscscscsc
  • 2017年02月15日 10:20
  • 178

Python中文字符的理解:str()、repr()、print

转自:http://www.jianshu.com/p/43dd8f6a0247 都说Python人不把文字编码这块从头到尾、从古至今全研究通透的话是完全玩不转的。我终于深刻的理解到了。...
  • xiaoxianerqq
  • xiaoxianerqq
  • 2016年08月18日 14:31
  • 423
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python str()/repr()
举报原因:
原因补充:

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