美文网首页程序员《做与学系列》
疯狂的Python-12(最后一个反斜杠)

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

作者: 景行1023 | 来源:发表于2018-09-09 17:24 被阅读0次

一些有趣的鲜为人知的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'
    
  • 解释器实际上是怎么做的呢,虽然看起来仅仅是改变了反斜杠的转义特性,实际上,它(反斜杠)会把自己和紧跟着自己的下一个字符一起传入到解释器,用来供解释器做判断和转换。这也就是为什么当反斜杠在最后一个字符的时候会报错。

相关文章

网友评论

    本文标题:疯狂的Python-12(最后一个反斜杠)

    本文链接:https://www.haomeiwen.com/subject/azogwftx.html