跳到主要内容

🧮 Python 标准库 - fractions 有理数处理

📌 模块用途

fractions 模块用于表示有理数(fraction),即分子/分母形式的数值,支持精确数学运算,适合处理如下场景:

  • 需要避免浮点误差的计算
  • 分数形式更直观的数学/教育场景
  • 需要分数约简、通分等操作

🔧 1️⃣ 基本使用:创建分数

Fraction 类型是分数类,支持多种初始化方式。

fractions 导入 Fraction
a = Fraction(3, 4) # 分子3,分母4
b = Fraction("0.5") # 从字符串创建
打印(a, b)

➕ 2️⃣ 支持加减乘除等运算

fractions 导入 Fraction
a = Fraction(1, 3)
b = Fraction(1, 6)
打印(a + b)
打印(a * b)
打印(a / b)

🔁 3️⃣ 自动约分和通分

Fraction 创建后自动化简为最简形式。

f = Fraction(8, 12)
打印(f)

🔄 4️⃣ 与 float 的转换

可从 float 创建 Fraction,也可将 Fraction 转换为 float。

f = Fraction.from_float(0.75)
打印(f)
打印(float(f))

⚠️ 注意事项

  • 创建时建议使用字符串或整数,避免 float 的误差
  • 精度要求极高时可结合 decimal 模块使用
  • 分母不能为 0(会抛出 ZeroDivisionError

📌 小结

特性说明
类型名fractions.Fraction
精度精确的分数表示
自动约简自动约简为最简分数
支持操作加、减、乘、除、比较、转换
初始化方式整数、两个整数、字符串、float(慎用)