python - 为什么转义字符在python中会变成类似\x0的字符串?

标签 python string escaping

我有一个简单的问题:

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 会向您显示最通用的表示形式,即字符的十六进制值,如果它不能向您显示字符本身的话。

( String Literal Docs )

关于python - 为什么转义字符在python中会变成类似\x0的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648623/

相关文章:

Python 字符串格式化 - 为同一个参数组合命名占位符和浮点格式化程序?

c - 查找父文件夹的路径

javascript - 如何忽略innerHTML属性中的HTML标签?

java - Tapestry 5.3.8 包含反斜杠字符的表单字段已损坏

python - 将代码片段复制到 IPython/Jupyter Notebooks

python - 如何指示 PySide2 应用程序使用 qt5ct 设置?

python - 获取 jinja2 模板中列表的长度

C++ 在固定大小为 9 的右填充空终止字符数组中查找第一个空格的最快方法

python - TypeError:在字符串格式化python期间并非所有参数都转换了

php - 是否有可能 "escape"PHP 中的方法名称,以便能够拥有与保留关键字冲突的方法名称?