这篇文章总结一下 Python 中字符串的类型

Unicode String 字符串

u 在 Python3 中是多余的, 因为所有的普通字符串默认都是 Unicode, 但在 Python2 中, u 用来显示的表示 Unicode 字符串, 现在保留这个是为了向后兼容

Fromatted String 格式化字符串

f 前缀用于创建格式化字符串, 这是最常见的字符串格式方法, 运行在字符串中嵌入表达式, 在求值时转换为普通的 str

PYTHON
name = "World"
greeting = f"Hello, {name}!"  # 结果: "Hello, World!"
Click to expand and view more

Raw String 原始字符串

r 前缀用于创建原始字符串, 会忽略反斜杠 \ 的转义功能, 在编写文件路径或正则表达式的时候非常有用, 可以避免大量的反斜杠转义

PYTHON
path = r"C:\Users\Documents"    # 单个反斜杠 '
regex = r"\bword\b"             # \b 不会被转义
Click to expand and view more

Bytes String 字节串

b 前缀用于创建字节串字面量, 表示一个不可变的字节序列, 而不是 Unicode 文本, 字节串主要用于二进制数据, 例如图像文件、网络数据或压缩文件等

PYTHON
binary_data = b"Hello"          # 存储的是 ASCII 编码的字节
Click to expand and view more

Template String 模板字符串

t 前缀用于创建模板字符串, 这是 Python 3.14 引入的新功能, 由 PEP 750 通过.

不同于 f-string, t-string 不会立即求值为 str, 而是求值为一个 Template 对象, 这为开发者提供了将在将字符串和插值组合之前进行处理(和安全转义)的能力

PYTHON
from string.templatelib import Template
template = t"Hello, {name}"  # template 是一个 Template 对象
Click to expand and view more

组合使用

前缀含义用途
f格式化嵌入变量和表达式
r原始忽略反斜杠转义
b字节处理二进制数据
t模板在组合前处理插值
uUnicodePython 3 中默认开启
fr / rf格式化+原始在正则表达式中嵌入变量
br / rb字节+原始忽略二进制数据中的转义
tr / rb模板+原始模板中处理原始文本

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut