不应该';t r'\';是否是python中的有效字符串值?
可能重复:不应该';t r'\';是否是python中的有效字符串值?,python,python-3.x,Python,Python 3.x,可能重复: 既然r'\\'等同于'\\\',为什么r'\'不等同于'\\' 我在蟒蛇3.2上得到的是 print(r'\') File "<stdin>", line 1 print(r'\') ^ SyntaxError: EOL while scanning string literal 打印(r'\') 文件“”,第1行 打印(r'\') ^ SyntaxError:扫描字符串文字时下线 除非反斜杠是偶数个反斜杠的一部分,否则不能将反
既然
r'\\'
等同于'\\\'
,为什么r'\'
不等同于'\\'
我在蟒蛇3.2上得到的是
print(r'\')
File "<stdin>", line 1
print(r'\')
^
SyntaxError: EOL while scanning string literal
打印(r'\')
文件“”,第1行
打印(r'\')
^
SyntaxError:扫描字符串文字时下线
除非反斜杠是偶数个反斜杠的一部分,否则不能将反斜杠作为原始字符串中的最后一个字符;它逃避了最后的报价
将此与:
>>> r'\ '
'\\ '
从:
当出现'r'
或'r'
前缀时,反斜杠后面的字符将包含在字符串中而不作更改,并且所有反斜杠都保留在字符串中。例如,字符串literalr“\n”
由两个字符组成:反斜杠和小写的'n'
。字符串引号可以用反斜杠转义,但反斜杠仍保留在字符串中;例如,r“\”
是由两个字符组成的有效字符串文字;r“\”
不是有效的字符串文字(即使是原始字符串也不能以奇数个反斜杠结尾)。具体来说,原始字符串不能以单个反斜杠结尾(因为反斜杠将转义以下引号字符)
哦,我明白了,否则就没有办法在原始字符串中包含
'
。@updogliu:基本上,你只能使用双引号(r”“
)或三引号原始文本(r''string'
或r''string'
)来包含'
)字符(没有反斜杠)