无封面
2025-07-31
Python 中,`f` 和 `r` 的使用解释
在 Python 中,f 和 r 通常作为字符串前缀使用,分别代表不同的字符串类型:格式化字符串(f-strings) 和 原始字符串(raw strings)。
1. f 前缀:格式化字符串(f-strings)
f 前缀用于创建格式化字符串,允许在字符串中嵌入表达式(如变量、函数调用等),使字符串插值更简洁。
示例:
name = "Alice"
age = 25
# 使用 f-strings 嵌入变量
message = f"我的名字是 {name},今年 {age} 岁。"
print(message) # 输出:我的名字是 Alice,今年 25 岁。
# 嵌入表达式
price = 9.99
tax = 0.08
total = f"总价:{price * (1 + tax):.2f} 元" # :.2f 表示保留两位小数
print(total) # 输出:总价:10.79 元
特点:
- 表达式用
{}包裹,支持变量、函数调用、数学运算等。 - 可以在
{}内使用格式说明符(如:.2f控制浮点数精度)。
2. r 前缀:原始字符串(raw strings)
r 前缀用于创建原始字符串,其中的反斜杠 \ 不会被转义,常用于正则表达式、文件路径等需要保留反斜杠的场景。
示例:
# 普通字符串(需要双重转义)
path = "C:\\Users\\Documents\\file.txt"
print(path) # 输出:C:\Users\Documents\file.txt
# 原始字符串(反斜杠不转义)
raw_path = r"C:\Users\Documents\file.txt"
print(raw_path) # 输出:C:\Users\Documents\file.txt
# 正则表达式示例
pattern = r"\d{3}-\d{4}" # 匹配如 "123-4567" 的模式
特点:
- 字符串中的
\直接作为字面量,无需转义(如\n不会被解释为换行符)。 - 但字符串末尾不能是单个反斜杠
\(会导致语法错误),如需使用可写成r'...\\'。
3. 组合使用:fr 或 rf
如果需要同时使用格式化和原始字符串,可以组合前缀(顺序任意):
name = "Alice"
regex = fr"Hello {name}\." # 等价于 r"Hello " + name + r"\."
print(regex) # 输出:Hello Alice\.
总结
| 前缀 | 用途 | 示例 |
|---|---|---|
f |
格式化字符串,嵌入变量或表达式 | f"年龄:{age}" |
r |
原始字符串,保留反斜杠字面量 | r"C:\path\to\file" |
fr 或 rf |
组合格式化和原始字符串 | fr"模式:{pattern}\d+" |
评论区
IP: 183.198.0.97 · 行政区划代码: 130108