我正在使用python 3.5.1.当我试着这个
print(r'\t\\\')
Run Code Online (Sandbox Code Playgroud)
我收到错误:SyntaxError:EOL扫描字符串文字时.但是这个效果很好
print(r'\t\\')
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
在第一个你逃避你的结束',因此SyntaxError你提出的问题,因为你的字符串现在永远不会终止.在第二个你逃脱决赛,\所以'没有逃脱.'\\'是一个字面反斜杠而不是一个转义,这就是为什么'在第二个版本中没有转义,以及为什么'\'第一个版本的末尾没有转义.
不知怎的,我错过了你在谈论原始字符串.不过,请参阅3.5文档:
即使在原始文字中,引号也可以使用反斜杠进行转义,但反斜杠仍保留在结果中; 例如,r"\""是一个有效的字符串文字,由两个字符组成:反斜杠和双引号; r"\"不是有效的字符串文字(即使原始字符串也不能以奇数个反斜杠结尾).具体来说,原始文字不能以单个反斜杠结尾(因为反斜杠会转义后面的引号字符).另请注意,单个反斜杠后跟换行符被解释为文本中的两个字符,而不是行继续.
| 归档时间: |
|
| 查看次数: |
37651 次 |
| 最近记录: |