Discuss / Python / r‘ ’不转义遇

r‘ ’不转义遇

Topic source

Glenn

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

r不是忽视‘’内的转义吗?为什么我输入

print(r'\t\')显示错误print(r'\t\\')就代码通过,感觉是个Bug

John.GD

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

我觉得是设定语法时不允许忽视单一的'\'吧,你的那一串输出里报错是本来就不可以单一输出'\'的问题,毕竟这样操作就挺自相矛盾的,想直接输出单个\是直接设定好的,可以尝试一下下列代码(第一个是错因,后三个是正常功能展示)
print('\')  #直接报错

print(r'\\')  #输出两个\

print('\\')  #输出1个\

print(r'\n')  #忽视了\的转义

所以不算bug吧,只是一种默认的设定

安夏ˇ¨ann

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

因为第一个公式最后一个 (’) 这个前面用了转义符(\),就改变了(’)  本身的符号意义,不会被当做( r' ' )这整个符号来处理了,会把后面的单引号当做一个文本字符,相当于(r' )只有一个单引号,符号不完整了。不知道我说清楚了没有

Shrimp

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

很有道理,在后面再加个单引号,就通过了,当时输代码时好像自动提示了 \ 将后面 ' 转义了

南墙

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

学到了,确实是。


  • 1

Reply