疯狂的Python-12(最后一个反斜杠)

疯狂的Python-12(最后一个反斜杠)_第1张图片

一些有趣的鲜为人知的Python特性集合

无论你是Python新手还是Python老手,我相信,这个系列的文章都会让你获益良多!

阅读此系列任何文章前请务必观看:疯狂的Python-目录大纲


▶ 最后一个反斜杠

Output:

>>> print("\\ C:\\")
\ C:\
>>> print(r"\ C:")
\ C:
>>> print(r"\ C:\")

    File "", line 1
      print(r"\ C:\")
                     ^
SyntaxError: EOL while scanning string literal

:bulb: 解释

  • 如果字符串前面声明了r,说明后面紧跟着的是一个原始字符串,反斜杠在这种字符串中是没有特殊意义的
    >>> print(repr(r"craz\"y"))
    'craz\\"y'
    
  • 解释器实际上是怎么做的呢,虽然看起来仅仅是改变了反斜杠的转义特性,实际上,它(反斜杠)会把自己和紧跟着自己的下一个字符一起传入到解释器,用来供解释器做判断和转换。这也就是为什么当反斜杠在最后一个字符的时候会报错。

你可能感兴趣的:(疯狂的Python-12(最后一个反斜杠))