Discuss / Python / r'' 不转义报错

r'' 不转义报错

Topic source

l

#1 Created at ... [Delete] [Delete and Lock User]

print(r'\\\t\\')可以正常输出\\\t\\ 

但是在后面加了一个\ print(r'\\\t\\\')就不能正常输出了 再加一个空格 print(r'\\\t\\\ ')就又可以正常输出\\\t\\\了 这咋回事呀

怀玉

#2 Created at ... [Delete] [Delete and Lock User]

我的理解是在内部末尾\')将单引号转义了,缺少行尾结束符,加了空格之后末尾的转义字符\没有作用到最末尾的单引号'就能正常输出,或者在末尾再加一个单引号

print(r'\\\t\\\\'')也可以正常输出\\\t\\\'。我对r的理解就是,在字符串内先转义,然后再确认是否合乎语法规则,比如单引号成双出现(上面报错估计就是这个引起),

然后因为有字符串前有r,就把字符串内部的转义给还原了。以上是我个人的理解(小白)

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

首先日常使用根本遇不到\\\t\\这种字符串,其次学是为了用,不是为了考试,工作中没人问你为什么。

对于这种不是涉及到基本概念的问题,先看打印的结果符不符合你的要求,不符合就加个\减个\试试,符合了说明就对了,继续按语法纠结可能最后你得读解释器源码才能发现可能写解释器的人偷了懒,不完全按语法解析。

学编程,要把重点放到概念上,不要纠结这种根本不影响日常开发的小问题。


  • 1

Reply