美文网首页程序员《做与学系列》
疯狂的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