Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。
函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
在python的官方API中这样解释repr()函数:
help(repr)查看帮助信息
repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较友好。通常情况下obj==eval(repr(obj))这个等式是成立的。
>>> obj='I love Python'
>>> obj==eval(repr(obj))
True
而str()函数这没有这个功能
>>> obj = 'I love Python'
>>> obj==eval(repr(obj))
True
>>> obj == eval(str(obj))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
I love Python
^
SyntaxError: invalid syntax
repr()函数(python3中):
>>> repr([0,1,2,3])
'[0, 1, 2, 3]'
>>> repr('Hello')
"'Hello'"
>>> str(1.0/7.0)
'0.14285714285714285'
>>> repr(1.0/7.0)
'0.14285714285714285'