为什么转义字符在python中变成像\ x0这样的字符串?

时间:2017-04-27 04:21:33

标签: python string escaping

我在这里有一个简单的问题:

mylist=[1,2,3]
mylist.insert(0, '\0')
print(mylist) 

给我们:

['\x00', 1, 2, 3]

换句话说,为什么以及如何将转义字符\变成\x0? 这里有什么用途吗?这是编码的一部分吗?

为什么python会将一个表示返回给另一个?

1 个答案:

答案 0 :(得分:2)

因此\<various single characters>具有特殊含义,\xYY是十六进制值YY的字符。以下(和其他)是等效的:

>>> assert '\0' == '\x00'   # null
>>> assert '\t' == '\x09'   # tab
>>> assert '\r' == '\x0d'   # carriage return
>>> assert '\n' == '\x0a'   # line feed

这是因为选项卡被编码为9等等。通常,Python会向您显示最常规的表示形式,即字符的十六进制值,如果它不能显示字符本身。

String Literal Docs