为了账号安全,请及时绑定邮箱和手机立即绑定

在字符串文字前加“ r”是什么意思?

在字符串文字前加“ r”是什么意思?

莫回无 2019-10-08 11:08:41
我首先看到它用作跨多行构建正则表达式的方法参数re.compile(),因此我假设它r代表RegEx。例如:regex = re.compile(    r'^[A-Z]'    r'[A-Z0-9-]'    r'[A-Z]$', re.IGNORECASE)那么r在这种情况下意味着什么呢?我们为什么需要它?
查看完整描述

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

这r意味着该字符串将被视为原始字符串,这意味着所有转义码都将被忽略。


例如:


'\n'将被视为换行符,而r'\n'将被视为\后跟的字符n。


如果存在'r'or或'R'前缀,则字符串中包含反斜杠后面的字符而不会更改,并且所有反斜杠都保留在字符串中。例如,字符串文字r"\n"包含两个字符:反斜杠和小写字母'n'。可以使用反斜杠对字符串引号进行转义,但反斜杠仍保留在字符串中;例如,r"\""是由两个字符组成的有效字符串文字:反斜杠和双引号;r"\" 不是有效的字符串文字(即使是原始字符串也不能以奇数个反斜杠结尾)。特别是,原始字符串不能以单个反斜杠结尾(因为反斜杠会转义以下引号字符)。还要注意,单个反斜杠后跟换行符被解释为这两个字符是字符串的一部分,而不是换行符。


查看完整回答
反对 回复 2019-10-08
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

这意味着转义符不会被翻译。例如:


r'\n'

是一个带有反斜杠的字符串,后跟字母n。(没有r它将是一个换行符。)


b确实代表字节字符串,并且在Python 3中使用,默认情况下字符串为Unicode。在Python 2.x中,默认情况下,字符串是字节字符串,您将使用它u来表示Unicode。


查看完整回答
反对 回复 2019-10-08
?
Helenr

TA贡献1780条经验 获得超4个赞

我试过了。我确实说过:“我很难在文档中寻找答案,因为我不知道它们的正式名称。” -我没有足够的时间去真正地看。你知道,截止日期和东西。:PI仅搜索“ python字符串前缀”,尽管最主要的回答是“词法分析”的链接是第二个结果,但“词法分析”有点使我无法阅读链接的页面,因为听起来像是阅读量很大。

查看完整回答
反对 回复 2019-10-08
  • 3 回答
  • 0 关注
  • 1688 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信