介绍
您可以在Python中创建一个原始字符串,以字母字符串为r
或R
为前缀。Python原始字符串将逆行字符()作为字母字符串。原始字符串是当一个字符串需要包含逆行字符串时有用的,例如对于常规表达式或Windows目录路径,而您不希望它被视为逃跑字符。
本文中的示例使用命令行中的 Python 交互式控制台来演示不同的原始字符串场景。
在使用 Raw String 的字符串中包含一个 Newline 字符
此示例使用具有值的字符串: Hi\nHello
. 如果您尝试将此值分配给一个正常的字符串,则新行字符(\n
)会创建一个新的字符串:
1s = 'Hi\nHello'
打印这个弦:
1print(s)
产量是:
1Hi
2Hello
输出显示新行字符在新行中产生结果。
若要在字符串中包含新行字符,请将字符串变量以r
或R
为前缀,以创建原始字符串:
1raw_s = r'Hi\nHello'
打印这个弦:
1print(raw_s)
产量是:
1Hi\nHello
输出包括 newline 字符。
使用原始字符串的字符串中包括双重反射字符
如果您尝试在正常的字符串中包含双重 backslash 字符,例如对于一个主机名路径,那么第一个backslash 字符将不会打印,因为编译器认为backslash 是一个逃避指标。
例如,创建包含路径的字符串:
1s = '\\examplehost\digitalocean\content\'
打印这个弦:
1print(s)
产量是:
1\examplehost\digitalocean\content\
输出显示第一个 backslash 字符不包含在字符串中。
若要在字符串中包含两种反向字符,请先键入字符串变量为r
或R
来创建原始字符串:
1s = r'\\examplehost\digitalocean\content\'
打印这个弦:
1print(s)
产量是:
1\\examplehost\digitalocean\content\
输出包括两个 backslash 字符。
在 Raw Strings 中的引文和 Backslash 字符的故障排除
在原始字符串中,引文仍然可以通过一个单一的 backslash 字符逃脱,但是, backslash 字符仍然存在于结果的原始字符串中。
此外,原始字符串不能以奇怪的字符数结束. 由于此功能,您无法创建包含单个原始字符串的原始字符串,因此r
/`是一个无效的字符串。
无效的 Raw String 示例
在本示例中,结尾引用在输出中缺少,因为它被反射字符逃脱,导致被破坏的字符串字母
错误:
1r'\'
在本示例中,前两个反射将相互逃避,第三个将试图逃避最终引用,导致被破坏的字母字符串
错误:
1r'ab\\\'
有效的 Raw String 示例
以下是一些有效的原始字符串的示例,其中包括引文和反向字符。
创建一个逃避引文的原始字符串:
1s = r"\"\""
打印这个弦:
1print(s)
产量是:
1\"\"
输出显示,背后的字符逃离引文,以便字符串不结束,但背后的字符仍然在结果字符串中。
创建一个原始字符串,具有相等数量的反转字符:
1s = R'ab\\'
打印这个弦:
1print(s)
产量是:
1ab\\
输出显示在结果字符串中包含相等数量的 backslash 字符。
结论
在本文中,您了解了 Python 中的原始字符串的基本知识. 继续学习关于 Python 字符串的知识。