从技术上来说,默认的交互式命令行显示和print显示的区别,相当于repr和str函数的区别:
>>>repr('spam')
"'spam'"
>>>str('spam')
'spam'
str和repr都会把任意对象转化成对应的字符串表示:repr(以及默认的交互命令行显示)会产生看起来像代码的结果。str(和print操作)
转换成一种通常对用户更加友好的格式。对象同时拥有这两种方式:str用于一般用途,repr带有额外细节。我们在学完字符串以及类中的运算符重载之后,会重新认识到这一概念。
除了任意对象提供可打印的字符串,str内置函数也是字符串数据类型的名称,而且在Python3.X中可以传入一个编码名称,从一个字节串中解码出一个Unicode字符串(例如str(b‘xy’, ‘utf8’)),这也是bytes.decode方法替代方法。