python中字符串前的'r'代表啥? [复制]

Posted

技术标签:

【中文标题】python中字符串前的\'r\'代表啥? [复制]【英文标题】:What does an 'r' represent before a string in python? [duplicate]python中字符串前的'r'代表什么? [复制] 【发布时间】:2016-02-17 04:15:37 【问题描述】:

我想了解为什么我们在 python 中的路径名之前使用 r,例如

dirname = r'C:\temp\parts'

【问题讨论】:

【参考方案1】:

r 表示字符串将被视为原始字符串

见官方Python 2 Reference关于“字符串字面量”:

当出现'r''R' 前缀时,后面的字符 反斜杠包含在字符串中而没有更改,并且 all 反斜杠留在字符串中。例如,字符串文字 r"\n" 由两个字符组成:一个反斜杠和一个小写字母'n'。 字符串引号可以用反斜杠转义,但反斜杠 留在字符串中;例如,r"\"" 是一个有效的字符串文字 由两个字符组成:反斜杠和双引号; r"\" 是 不是有效的字符串文字(即使是原始字符串也不能以奇数结尾 反斜杠的数量)。具体来说,原始字符串不能以 单个反斜杠(因为反斜杠会转义以下引号 特点)。另请注意,单个反斜杠后跟换行符是 将这两个字符解释为字符串的一部分,not 解释为 续行。

【讨论】:

这和正则表达式有关系吗? @Abdel No r 引用 raw,而不是 regex

以上是关于python中字符串前的'r'代表啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

python中字符串前的'u'是啥意思? [复制]

Python中字符串前的字母

字符串前的“@”是啥意思? [复制]

***模块代码中的 Python @ (at) 前缀 - 它代表啥? [复制]

在 Python 格式(f-string)字符串中,!r 是啥意思? [复制]

C#中变量名前的@符号是啥意思? [复制]