Python打印所有的字符串时,都用引号将其括起来。通过例子可以发现:Python打印值时,保留其在代码中样子,而不是用户看到的样子。如果使用print函数,结果将不同。

>>>"Hello, world!"
'Hello, world!'
>>>print("Hello, world!")
Hello, world!
# 加上换行符的编码\n,差别将更明显。
>>>"Hello,\nworld!"
'Hello,\nworld!'
>>>print("Hello,\nworld!")
Hello,
world!

通过两种不同的机制将转换成了字符串。你可通过使用函数str和repr直接使用这两种机制。使用str能以合理的方式将值转换为用户能够看懂的字符串。例如,尽可能将特殊字符串编码转换为相应的字符。然而,使用repr时,通常会获得值的合法Python表达式表示。

>>>print(repr("Hello,\nworld!"))
'Hello,\nworld!'
>>>print(str("Hello,\nworld!"))
Hello,
world!

Unicode、bytes、 bytearray

(1) Unicode 相关知识请参阅字符编码笔记

(2) bytes对象

(3) bytearray对象(bytes的可变版)

参考资料

Python基础教程-第3版(文字版) – page-18