欢迎访问宙启技术站
智能推送

Python中的fractions模块:简化分数表示

发布时间:2023-12-14 22:25:22

Python中的fractions模块是用于处理有理数(分数)运算的模块。它提供了Fraction类来表示分数,并提供了各种方法来进行分数的化简、运算和转换。

使用fractions模块之前,需要先导入它:

from fractions import Fraction

Fraction类的构造函数可以接受不同的参数形式来创建分数对象,常见的有以下几种:

- Fraction(numerator, denominator):通过分子和分母来创建一个分数。

- Fraction(string):通过一个字符串来创建一个分数,字符串的格式可以是'1/2'、'3/4'等。

- Fraction(float):通过一个浮点数来创建一个分数,例如Fraction(0.5)。

创建一个分数对象后,可以使用对象的各种属性和方法进行操作。

1. 分数的属性:

- numerator:分数的分子。

- denominator:分数的分母。

f = Fraction(3, 4)
print(f.numerator)  # 输出3
print(f.denominator)  # 输出4

2. 分数的化简:

- f = f.simplify():返回一个化简后的分数对象。

- f = f.limit_denominator(max_denominator):将分数的分母限制在最大值max_denominator内,返回一个新的分数对象。

f = Fraction(6, 8)
print(f)  # 输出 6/8
f = f.simplify()
print(f)  # 输出 3/4

f = Fraction(22, 7)
print(f)  # 输出 22/7
f = f.limit_denominator(100)
print(f)  # 输出 3/1

3. 分数的四则运算:

- f1 + f2:两个分数的加法。

- f1 - f2:两个分数的减法。

- f1 * f2:两个分数的乘法。

- f1 / f2:两个分数的除法。

f1 = Fraction(1, 2)
f2 = Fraction(3, 4)
f3 = f1 + f2
print(f3)  # 输出 5/4

f4 = f1 * f2
print(f4)  # 输出 3/8

4. 分数与整数、浮点数的转换:

- f = Fraction(3):将整数转换为分数对象。

- f = Fraction(0.5):将浮点数转换为分数对象。

- f = float(f):将分数对象转换为浮点数。

- f = int(f):将分数对象转换为整数。

f1 = Fraction(3)
f2 = Fraction(0.5)
print(f1)  # 输出 3/1
print(f2)  # 输出 1/2

f3 = float(f2)
print(f3)  # 输出 0.5

f4 = int(f1)
print(f4)  # 输出 3

fractions模块提供了方便易用的分数操作功能,可以用于解决各种涉及分数的问题,比如分数运算、化简、转换等等。在涉及到分数的场景中,使用fractions模块可以节省编写繁琐的分数运算代码的时间和精力。