转义字符
其实,不管使用单引号还是使用双引号包含,使用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 | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其他的字符以普通格式输出 |
当然,如果你不想使用反斜杠(\)转义特殊字符,可以在字符串前面添加一个r,表示原始字符串,示例代码如下:
print('E\nglish')
运行代码,结果如下所示:
E
glish
添加原始字符串r,具体代码如下所示:
print(r'E\nglish')
运行代码,结果如下所示:
E\nglish