Feelings

无封面

2025-07-31
编辑

Python 中,`f` 和 `r` 的使用解释

在 Python 中,fr 通常作为字符串前缀使用,分别代表不同的字符串类型:格式化字符串(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. 组合使用:frrf

如果需要同时使用格式化和原始字符串,可以组合前缀(顺序任意):

name = "Alice"
regex = fr"Hello {name}\."  # 等价于 r"Hello " + name + r"\."
print(regex)  # 输出:Hello Alice\.

总结

前缀 用途 示例
f 格式化字符串,嵌入变量或表达式 f"年龄:{age}"
r 原始字符串,保留反斜杠字面量 r"C:\path\to\file"
frrf 组合格式化和原始字符串 fr"模式:{pattern}\d+"

评论区

昵称最多15个字符,包含汉字、字母、数字等

2025-08-06 00:19 · 用户:🤞 · 中国 ·河北省 ·石家庄市
IP: 183.198.0.97 · 行政区划代码: 130108
💪坚持