Python 转义字符详解与常见用法示例
在 Python 编程中,字符串是处理文本数据的基础。为了表示一些特殊字符或控制字符,Python 提供了转义字符(Escape Character)机制。理解并正确使用转义字符,对于处理文件路径、格式化输出、正则表达式匹配以及处理 Unicode 编码至关重要。
一、转义字符的基本概念
ASCII 编码为每个字符分配了唯一的编号。在 Python 字符串中,除了直接使用字符本身,还可以使用其编码值来表示。这种通过反斜杠 \ 引导的编码值来间接表示字符的方式,称为转义序列。
转义字符通常以反斜杠 \ 开头。常见的形式包括:
- 十六进制:
\xhh,其中hh代表两位十六进制数。 - 八进制:
\ddd,其中ddd代表一至三位八进制数(注意:Python 3 中标准写法通常为\ddd,部分旧版本或特定上下文可能支持\0dd,但推荐遵循标准规范)。 - Unicode:
\uXXXX(16 位)或\UXXXXXXXX(32 位),用于表示非 ASCII 字符。
由于 ASCII 编码共收录了 128 个字符(0-127),十六进制形式 \x 可以覆盖所有 ASCII 字符,而八进制形式受限于位数,无法表示所有字符(例如某些高位字符)。Python 中的转义字符主要用于 ASCII 及 Unicode 范围内的字符表示。
代码示例
# 十六进制转义
str_hex = "Hex: \x31\x32\x33\x78\x79\x7A"
print(str_hex) # 输出:Hex: 123xyz
# 八进制转义
str_oct = "Oct: \061\062\063"
print(str_oct) # 输出:Oct: 123
注意:八进制形式的转义字符如果数字超过三位,解析行为可能不确定。对于 x, y, z 等字符,其十进制编码分别为 120, 121, 122,转换为八进制后为三位数(如 170, 171, 172),因此必须确保格式正确。
二、常用控制字符转义表
在 ASCII 编码中,0~31(十进制)范围内的字符为控制字符,它们不可见,无法直接输入,常用于控制终端显示或文件格式。Python 针对这些常用控制字符定义了简写方式。
| 转义字符 | 说明 |
|---|---|
\n | 换行符(Newline),将光标移到下一行开头 |
\r | 回车符(Carriage Return),将光标移到本行开头 |
\t | 水平制表符(Tab),通常相当于四个空格 |
\a | 响铃(Alert),尝试触发系统蜂鸣器 |


