📜  Python中的分数模块(1)

📅  最后修改于: 2023-12-03 15:34:26.024000             🧑  作者: Mango

Python中的分数模块

Python标准库中的fractions模块提供了处理分数的类Fraction,Fraction类可以表示任何有理数,并支持各种操作,如加、减、乘、除、比较等。

创建分数对象

使用Fraction类可以非常方便地创建分数对象。Fraction对象可以接收整数、浮点数、分数等类型的参数。

from fractions import Fraction

# 创建分数对象
frac1 = Fraction(1, 2)
frac2 = Fraction(0.5)
frac3 = Fraction('1/2')

# 输出分数对象
print(frac1) # 1/2
print(frac2) # 1/2
print(frac3) # 1/2
分数运算

Fraction对象支持各种数学运算,如加、减、乘、除、幂运算等。运算结果仍然是Fraction对象。

# 分数加减乘除
frac1 = Fraction(1, 2)
frac2 = Fraction(1, 3)

frac3 = frac1 + frac2
print(frac3) # 5/6

frac4 = frac1 - frac2
print(frac4) # 1/6

frac5 = frac1 * frac2
print(frac5) # 1/6

frac6 = frac1 / frac2
print(frac6) # 3/2

# 分数幂运算
frac7 = Fraction(2, 5)

frac8 = frac7 ** 3
print(frac8) # 8/125

注意,Fraction对象是不可变的,一旦创建就不可以修改。运算结果会返回新的Fraction对象。

分数比较

Fraction对象也支持比较运算,可以使用大于、小于、等于和不等于等运算符进行比较。

frac1 = Fraction(2, 3)
frac2 = Fraction(3, 4)

if frac1 > frac2:
    print('frac1 > frac2')
elif frac1 < frac2:
    print('frac1 < frac2')
else:
    print('frac1 == frac2')
分数转换为浮点数

使用Fraction对象提供的浮点数方法可以将分数对象转换为浮点数。

frac = Fraction(3, 4)
float_num = float(frac)
print(float_num) # 0.75
分数取整

Fraction对象提供了取整方法,可以直接对分数对象进行取整操作。取整方法包括floor、ceil、round。

frac = Fraction(5, 2)
print(frac) # 5/2

# 向下取整
frac_floor = frac.floor()
print(frac_floor) # 2

# 向上取整
frac_ceil = frac.ceil()
print(frac_ceil) # 3

# 四舍五入
frac_round = frac.round()
print(frac_round) # 3

以上就是Python中分数模块的介绍,通过fractions模块,我们可以方便地处理分数运算,可以大大减少代码实现的难度。