疯狂的Python-12(最后一个反斜杠)
2018-09-09 本文已影响0人
景行1023
一些有趣的鲜为人知的Python特性集合
无论你是Python新手还是Python老手,我相信,这个系列的文章都会让你获益良多!
阅读此系列任何文章前请务必观看:疯狂的Python-目录大纲
▶ 最后一个反斜杠
Output:
>>> print("\\ C:\\")
\ C:\
>>> print(r"\ C:")
\ C:
>>> print(r"\ C:\")
File "<stdin>", line 1
print(r"\ C:\")
^
SyntaxError: EOL while scanning string literal
:bulb: 解释
- 如果字符串前面声明了
r
,说明后面紧跟着的是一个原始字符串,反斜杠在这种字符串中是没有特殊意义的>>> print(repr(r"craz\"y")) 'craz\\"y'
- 解释器实际上是怎么做的呢,虽然看起来仅仅是改变了反斜杠的转义特性,实际上,它(反斜杠)会把自己和紧跟着自己的下一个字符一起传入到解释器,用来供解释器做判断和转换。这也就是为什么当反斜杠在最后一个字符的时候会报错。