Python 中的原始字符串和 Unicode 字符串

Neema Muganga 2023年1月30日
  1. Python 中的原始字符串
  2. Python Unicode 字符串
Python 中的原始字符串和 Unicode 字符串

Python 中的原始字符串

Python 中的原始字符串字面量定义了在开引号前以 rR 为前缀的普通字符串。如果字符串中存在反斜杠 (\),则原始字符串将此字符视为文字字符而不是转义字符。

例如,

print(r"\n")
print(r"\t")

输出:

\n
\t

定义字符串时需要将每个反斜杠加倍,以免将其误认为是换行符或新制表符等转义序列的开头。我们在正则表达式的语法和表达 Windows 文件路径时看到了这样的语法应用。

注意
r'\' 将引发语法错误,因为 r 将反斜杠视为文字。如果没有 r 前缀,反斜杠将被视为转义字符。

例子:

text = "Hello\nWorld"
print(text)

输出:

Hello
World

如果没有原始字符串标志 r,反斜杠被视为转义字符,因此在打印上述字符串时,会生成新行转义序列。因此,文本中的两个字符串在单独的行中打印出来,如输出中所示。

使用相同的文本示例,在字符串前添加 r 前缀。

例子:

text = r"Hello\nWorld"
print(text)

输出:

Hello\nWorld

从输出中,原始字符串标志将反斜杠视为文字,并打印出包含反斜杠的文本。因此,输入和输出都是相同的,因为反斜杠字符没有被转义。

例如,'\\n'r'\n' 具有相同的值。

print("\\n")
print(r"\n")

Python Unicode 字符串

Unicode 是存储 python 字符串的一种方式。Unicode 可以存储所有语言类型的字符串。第二种方式是 ASCII 类型的字符串存储,在 Python 中表示为 strstr 是 Python 中存储字符串的默认数据类型。

要将字符串转换为 Unicode 类型,请像这样在文本之前放置一个 u - u'string' 或像这样调用 unicode() 函数 - unicode('string')

u'text' 是一个 Unicode 字符串,而 text 是一个字节字符串。Unicode 对象占用更多内存空间。

例如,

test = u"一二三"
print(test)

输出:

一二三

相关文章 - Python String