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 cHello,kitty!>>>

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