如何使用 Python 原始字符串

介绍

您可以在Python中创建一个原始字符串,以字母字符串为rR为前缀。Python原始字符串将逆行字符()作为字母字符串。原始字符串是当一个字符串需要包含逆行字符串时有用的,例如对于常规表达式或Windows目录路径,而您不希望它被视为逃跑字符。

本文中的示例使用命令行中的 Python 交互式控制台来演示不同的原始字符串场景。

在使用 Raw String 的字符串中包含一个 Newline 字符

此示例使用具有值的字符串: Hi\nHello. 如果您尝试将此值分配给一个正常的字符串,则新行字符(\n)会创建一个新的字符串:

1s = 'Hi\nHello'

打印这个弦:

1print(s)

产量是:

1Hi
2Hello

输出显示新行字符在新行中产生结果。

若要在字符串中包含新行字符,请将字符串变量以rR为前缀,以创建原始字符串:

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 字符不包含在字符串中。

若要在字符串中包含两种反向字符,请先键入字符串变量为rR来创建原始字符串:

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 字符串的知识。

Published At
Categories with 技术
comments powered by Disqus