📅  最后修改于: 2023-12-03 15:34:26.024000             🧑  作者: Mango
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模块,我们可以方便地处理分数运算,可以大大减少代码实现的难度。