不应该';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'
前缀时,反斜杠后面的字符将包含在字符串中而不作更改,并且所有反斜杠都保留在字符串中。例如,字符串literal
r“\n”
由两个字符组成:反斜杠和小写的
'n'
。字符串引号可以用反斜杠转义,但反斜杠仍保留在字符串中;例如,
r“\”
是由两个字符组成的有效字符串文字;
r“\”
不是有效的字符串文字(即使是原始字符串也不能以奇数个反斜杠结尾)。具体来说,原始字符串不能以单个反斜杠结尾(因为反斜杠将转义以下引号字符)


哦,我明白了,否则就没有办法在原始字符串中包含
'
。@updogliu:基本上,你只能使用双引号(
r”“
)或三引号原始文本(
r''string'
r''string'
)来包含
'
)字符(没有反斜杠)