原始 Python 字符串中的转义字符

che*_*cks 2 python string syntax

我的印象是,在Python中,原始字符串的编写方式r'this is a raw string'会省略任何转义字符,并准确打印引号之间的内容。我的问题是,当我尝试时,print r'\'我得到了SyntaxError: EOL while scanning string literalprint r'\n'不过,打印正确\n

Mar*_*ers 5

引用文档

当存在'r'or'R'前缀时,反斜杠后面的字符将不加更改地包含在字符串中,并且所有反斜杠都保留在字符串中。例如,字符串文字r"\n"由两个字符组成:反斜杠和小写字母'n'字符串引号可以用反斜杠转义,但反斜杠保留在字符串中;例如,r"\""是由两个字符组成的有效字符串文字:反斜杠和双引号;r"\"不是有效的字符串文字(即使原始字符串也不能以奇数个反斜杠结尾)。具体来说,原始字符串不能以单个反斜杠结尾(因为反斜杠会转义后面的引号字符)。

添加了我的强调。

因此,原始字符串确实为反斜杠附加了一些含义,但仅限于涉及引号的情况。