介绍
Python中的fractions模块提供了Fraction类,用于处理有理数。这个模块对于处理精确的小数运算非常有用,特别是在涉及金融、科学计算等领域。本教程将介绍如何使用Python中的fractions模块进行有理数运算。
引入fractions模块
首先,我们需要引入fractions模块:
from fractions import Fraction
创建Fraction对象
要创建一个Fraction对象,只需将分子和分母传递给Fraction类的构造函数即可。如果没有提供分母,则默认为1。
# 创建有理数 3/4
fraction1 = Fraction(3, 4)
print(fraction1) # 输出:3/4
# 创建有理数 2/3
fraction2 = Fraction(2, 3)
print(fraction2) # 输出:2/3
# 创建有理数 -5
fraction3 = Fraction(-5)
print(fraction3) # 输出:-5
更多实例: https://docs.python.org/zh-tw/3/library/fractions.html
进行基本的算术运算
Fraction对象支持基本的算术运算,包括加法、减法、乘法和除法。
# 加法
result_add = fraction1 + fraction2
print(result_add) # 输出:17/12
# 减法
result_sub = fraction1 - fraction2
print(result_sub) # 输出:1/12
# 乘法
result_mul = fraction1 * fraction2
print(result_mul) # 输出:1/2
# 除法
result_div = fraction1 / fraction2
print(result_div) # 输出:9/8
转换为浮点数和分数形式
可以使用float()函数将Fraction对象转换为浮点数,或者使用分数形式进行输出。
# 转换为浮点数
float_result = float(fraction1)
print(float_result) # 输出:0.75
# 输出分数形式
print(fraction1.numerator) # 输出:3
print(fraction1.denominator) # 输出:4
其他操作
fractions模块还提供了一些其他有用的功能,如查找最大公约数和最小公倍数。
# 查找最大公约数
gcd_result = fraction1.gcd(fraction2)
print(gcd_result) # 输出:1
# 查找最小公倍数
lcm_result = fraction1.lcm(fraction2)
print(lcm_result) # 输出:12