为什么转义字符变成像python中的\ x0这样的字符串?
问题描述:
我有一个简单的问题在这里:为什么转义字符变成像python中的 x0这样的字符串?
mylist=[1,2,3]
mylist.insert(0, '\0')
print(mylist)
给我们:
['\x00', 1, 2, 3]
换句话说,为什么和转义字符\
是如何变成\x0
?
这里有一些目的吗?这是一些编码的东西?
为什么python返回一个表示而不是另一个表示?
答
所以\<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会告诉你最普遍的代表性,这是一个字符的十六进制值,如果它不能显示你的角色本身。
'\ 0'和'\ x00'只是两个不同的同样的事情表示:一个零字节。 'representation'您的意思是 –
,人类可读的打印输出?或者是其他东西?为什么同样的事情有两种不同的表述? DRY不是所有编程和设计水平的基本单位? –
DRY与它完全无关。而且总是有很多想法的表示,人类可读或不可读。就你的情况而言,yu的八进制和十六进制表示为0. –