Python 转义字符

Python 转义字符

In Python,如果在引号符号之前加上”r”或”R”前缀,字符串就变成了原始字符串。因此’Hello’是普通字符串,而r’Hello’是原始字符串。

>>> normal="Hello"
>>> print (normal)
Hello
>>> raw=r"Hello"
>>> print (raw)
Hello
Python

在正常情况下,这两者之间没有区别。然而,当转义字符嵌入到字符串中时,普通字符串实际上会解释转义序列,而原始字符串则不处理转义字符。

>>> normal="Hello\nWorld"
>>> print (normal)
Hello
World
>>> raw=r"Hello\nWorld"
>>> print (raw)
Hello\nWorld
Python

在上面的例子中,当打印一个普通字符串时,转义字符’\n’被处理为换行符。然而,由于原始字符串运算符’r’的作用,转义字符的效果不会按照其本意进行转译。

换行符\n是Python所识别的转义序列之一。转义序列调用一个替代实现字符子序列\\\。在Python中,\\\被用作转义字符。以下表格显示了转义序列列表。

除非存在’r’或’R’前缀,字符串和字节字符串中的转义序列将按照与标准C相似的规则进行解释。已识别的转义序列如下:

序号 转义序列和含义
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 的字符

示例

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

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

# escape backslash
s=s = 'The \\character is called backslash'
print (s)

# escape single quote
s='Hello \'Python\''
print (s)

# escape double quote
s="Hello \"Python\""
print (s)

# escape \b to generate ASCII backspace
s='Hel\blo'
print (s)

# ASCII Bell character
s='Hello\a'
print (s)

# newline
s='Hello\nPython'
print (s)

# Horizontal tab
s='Hello\tPython'
print (s)

# form feed
s= "hello\fworld"
print (s)

# Octal notation
s="\101"
print(s)

# Hexadecimal notation
s="\x41"
print (s)
Python

它将产生以下 输出

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
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册