repr语法:repr[object]

返回一个可以表示对象的可打印的字符串,首先会生成一个这样的字符串,然后将其传给eval()可以重新生成同样的对象。但是repr所返回的对象更适合于解释器去阅读,可以理解为亲近与python。

str语法:str[objec]

返回一个可以表示对象的友好的可打印的字符串。对于字符串则返回本身,如果没有参数,则返回空字符串。str返回的对象更适合我们人类阅读(可以这么理解),str致力于返回一个可读性比较好的对象,返回的结果通常不会通过eval()去处理。

下面举一些例子:

   
>>> a = 'Hello,kitty!'
>>> str(a)
'Hello,kitty!'             #字符串str会返回本身
>>> repr(a)
"'Hello,kitty!'"
>>> a = 'Hello,kitty!\n'
>>> b = repr(a)
>>> print b
'Hello,kitty!\n'
>>> c = str(a)
>>> print c
Hello,kitty!
>>>

str(),repr()运算在特性和功能方面都非常相似,但是在python中还有一个``这个反引号和repr()实际上所做的事情,基本是一样的,而str()和前两者略有区别。
09-23 14:29