Python 转义字符怎么用?

文章导读
Previous Quiz Next 转义字符 转义字符 是后跟反斜杠(\)的字符。它告诉 Interpreter 这个转义字符(序列)具有特殊含义。例如,\n 是一个表示换行符的转义序列。当 Python 在字符串中遇到这个序列时,它会理解需要开始新的一行。
📋 目录
  1. 转义字符
  2. Python 中的转义字符
  3. 转义字符示例
A A

Python - 转义字符



Previous
Quiz
Next

转义字符

转义字符 是后跟反斜杠(\)的字符。它告诉 Interpreter 这个转义字符(序列)具有特殊含义。例如,\n 是一个表示换行符的转义序列。当 Python 在字符串中遇到这个序列时,它会理解需要开始新的一行。

除非有 'r' 或 'R' 前缀,否则字符串和 bytes 字面量中的转义序列会按照类似于 Standard C 使用的规则进行解释。在 Python 中,如果字符串在引号符号前加上 "r" 或 "R" 前缀,它就会成为 raw string。因此 'Hello' 是普通字符串,而 r'Hello' 是 raw string。

示例

在下面的示例中,我们实际演示了 raw string 和普通字符串。

# 普通字符串
normal = "Hello"
print (normal)

# raw string
raw = r"Hello"
print (raw)

以上代码的输出如下所示 −

Hello
Hello

在正常情况下,两者没有区别。但是,当字符串中嵌入转义字符时,普通字符串会实际解释转义序列,而 raw string 不会处理转义字符。

示例

在下面的示例中,当打印普通字符串时,转义字符 '\n' 被处理为引入换行。然而,由于 raw string 操作符 'r',转义字符的效果不会按照其含义进行转换。

normal = "Hello\nWorld"
print (normal)

raw = r"Hello\nWorld"
print (raw)

运行以上代码,将打印以下结果 −

Hello
World
Hello\nWorld

Python 中的转义字符

下表展示了 Python 中使用的不同转义字符 -

序号 转义序列 & 含义
1

\<newline>

反斜杠和换行符被忽略

2

\\

反斜杠 (\)

3

\'

单引号 (')

4

\"

双引号 (" )

5

\a

ASCII 铃声 (BEL)

6

\b

ASCII 退格 (BS)

7

\f

ASCII 换页 (FF)

8

\n

ASCII 换行 (LF)

9

\r

ASCII 回车 (CR)

10

\t

ASCII 水平制表符 (TAB)

11

\v

ASCII 垂直制表符 (VT)

12

\ooo

八进制值 ooo 对应的字符

13

\xhh

十六进制值 hh 对应的字符

转义字符示例

以下代码展示了上表中列出的转义序列的使用 −

# 忽略 \
s = 'This string will not include \
backslashes or newline characters.'
print (s)

# 转义反斜杠
s=s = 'The \\character is called backslash'
print (s)

# 转义单引号
s='Hello \'Python\''
print (s)

# 转义双引号
s="Hello \"Python\""
print (s)

# 转义 \b 以生成 ASCII 退格
s='Hel\blo'
print (s)

# ASCII 铃声字符
s='Hello\a'
print (s)

# 换行
s='Hello\nPython'
print (s)

# 水平制表符
s='Hello\tPython'
print (s)

# 换页
s= "hello\fworld"
print (s)

# 八进制表示
s="\101"
print(s)

# 十六进制表示
s="\x41"
print (s)

它将产生以下 输出

This string will not include backslashes or newline characters.
The \character is called backslash
Hello 'Python'
Hello "Python"
Helo
Hello
Hello
Python
Hello Python
hello
world
A
A