Python 中的原始字符串和 Unicode 字符串
Neema Muganga
2023年1月30日
Python 中的原始字符串
Python 中的原始字符串字面量定义了在开引号前以 r
或 R
为前缀的普通字符串。如果字符串中存在反斜杠 (\
),则原始字符串将此字符视为文字字符而不是转义字符。
例如,
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 中表示为 str
。str
是 Python 中存储字符串的默认数据类型。
要将字符串转换为 Unicode 类型,请像这样在文本之前放置一个 u
- u'string'
或像这样调用 unicode()
函数 - unicode('string')
。
u'text'
是一个 Unicode 字符串,而text
是一个字节字符串。Unicode 对象占用更多内存空间。
例如,
test = u"一二三"
print(test)
输出:
一二三