转义字符

其实,不管使用单引号还是使用双引号包含,使用print输出字符串的时候,值都是一样的。至于为什么两种情况都可以表示字符串,是因为某些情况下它们会派上用场,例如下面的代码:

print("let's go!")
print('"Nice to meet you ! "he said')

运行代码,结果如下所示:

let's go!
"Nice to meet you! "he said

上面的代码中,第1行代码的字符串内容中有单引号,所以要使用双引号包含。而第2行代码的字符串内容中有双引号,所以要使用单引号包含。如果不这么做,当解释器在根据单引号或者双引号辨别字符串的结束符时,难免会发生错误。例如,下面的代码就会报错:

 print('let's go! go')

运行代码,结果如下所示:

  File "<input>", line 1
    print('let's go! go')
               ^
SyntaxError: invalid syntax

当然,对于单引号或者双引号这些特殊的符号,我们可以对它们进行转义,例如,对字符串中的单引号进行转义,示例代码如下:

 print('let's go! go')

运行代码,结果如下所示:

let's go! go

上述代码中,使用斜线的方式,对单引号进行了转义,这样当解释器遇到这个转义字符的时候,会明白这不是字符串的结束标记。而像这样的转义符号有很多种,接下来,通过一张表来列举,如表1所示。

表1 转义字符

转义字符 代表含义
(在行尾时) 反斜杠符号
反斜杠符号
" 双引号
b 退格(Backspace)
e 转义
00
n 换行
v 纵向制表符
t 横向制表符
r 回车
f 换页
oyy 八进制数,yy代表的字符,例如:o12代表换行
xyy 十六进制数,yy代表的字符,例如:x0a代表换行
other 其他的字符以普通格式输出

当然,如果你不想使用反斜杠()转义特殊字符,可以在字符串前面添加一个r,表示原始字符串,示例代码如下:

 print('English')

运行代码,结果如下所示:

E
glish

添加原始字符串r,具体代码如下所示:

print(r'English')

运行代码,结果如下所示:

English