Python 中的原始字符串
Lakshay Kapoor
2023年1月30日
在 Python 中有很多表示字符串的方法。表示字符串的一种方法是将它们转换为原始字符串。
本教程将在 Python 中定义一个原始字符串。
Python 中的原始字符串
Python 中的原始字符串只是任何以 r
或 R
为前缀的普通字符串。字符串中出现的任何反斜杠 (\)
都被视为真正的或文字字符。例如,如果字符串中间有 \n
或 \t
,它将被视为一个字符,而不是 newline
或 tab
字符。
让我们举一个例子,在字符串之间使用换行符\n
,而不用 r
或 R
作为字符串前缀。
print("Hi\nHow are you?")
输出:
Hi
How are you?
现在让我们用原始字符串字符 r
作为整个字符串的前缀。
print(r"Hi\nHow are you?")
输出:
Hi\nHow are you?
如你所见,换行符 \n
被视为文字字符串而不是某些特殊字符。
Python 中的原始字符串无效
单个反斜杠 \
在 Python 中不被视为有效的原始字符串。
print(r"\")
输出:
File "<ipython-input-6-6cdee2fbdda0>", line 1
print(r"\")
^
SyntaxError: EOL while scanning string literal
在 Python 中使用原始字符串
在 Python 中,原始字符串用于在完全未处理时返回字符串。这意味着如果字符串以 r
或 raw string
为前缀,并且该字符串包含任何无效的转义字符,如 \x
,则不会发生错误。
这是一个示例代码。
print("Hi\xHow are you?")
输出:
File "<ipython-input-15-1056651b28e1>", line 1
print("Hi \x How are you?")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \xXX escape
请注意,字符串没有以 r
为前缀,并且字符串之间存在无效的转义字符。因此,发生了错误。
作者: Lakshay Kapoor
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn