例如,如果要在字符串中放入制表符,则可以执行以下操作:
>>> print("foo t bar")foo bar如果要将文字
放在字符串中,则必须使用\:
>>> print("foo \ bar")foo bar或使用“原始字符串”:
>>> print(r"foo bar")foo bar
您不能只在需要时就在字符串文字中添加反斜杠。如果反斜杠后面没有有效的转义序列之一,则该反斜杠无效,并且新版本的Python会显示弃用警告。例如
A不是转义序列:
$ python3.6 -Wd -c '"A"'<string>:1: DeprecationWarning: invalid escape sequence A
如果您的反斜杠序列确实意外地与Python的转义序列之一匹配,但您不是故意这么做的,那就更糟了。
因此,您应始终使用原始字符串或
\。
重要的是要记住,即使字符串打算用作正则表达式,字符串文字仍然是字符串文字。Python的正则表达式语法支持以开头的许多特殊序列
。例如,A匹配字符串的开头。但是
A在Python字符串文字中无效!这是无效的:
my_regex = "Afoo"
相反,您应该这样做:
my_regex = r"Afoo"
文档字符串是另一个要记住的内容:文档字符串也是字符串文字,并且无效
序列在文档字符串中也是无效的!r"""..."""如果原始字串()包含,请使用原始字串()。



