Python 分数模块使用户能够以有效的方式管理与分数相关的计算。该模块使我们能够从整数、浮点数、小数和字符串创建分数。
该分数模块支持有理数算术运算。
目录
分数模块的基础知识
1. 导入分数模块:
from fractions import Fraction
2. 实例化分数类:
有多种方法可以实例化分数类。以下是实例化分数类的一些方法:
- 传递分子和分母
- 用浮动实例化
- 用十进制实例化
- 用字符串实例化
示例:通过传递分子和分母来实例化
from fractions import Fraction
Fraction(1, 2)
示例:使用浮点数实例化
from fractions import Fraction
Fraction(2.5)
示例:用十进制小数实例化
from fractions import Fraction
from decimal import Decimal
Fraction(Decimal('1.1'))
示例:实例化字符串
from fractions import Fraction
Fraction('9/16')
创建分数
import fractions
for num, decimal in [(1, 2), (3, 6), (30, 7)]:
result = fractions.Fraction(num, decimal)
print('{}/{} = {}'.format(num, decimal, result))
输出:
1/2 = 1/2
3/6 = 1/2
30/7 = 30/7
对分数执行算术运算
下面的例子解释了分数的不同数学运算。
from fractions import Fraction
print(Fraction(100, 10) + Fraction(25, 5))
print(Fraction(18, 5) / Fraction(18, 10))
print(Fraction(18, 15) * Fraction(16, 25))
print(Fraction(17, 25) * Fraction(15, 25))
print(Fraction(12, 5) ** Fraction(12, 11))
输出:
分数的输出算术运算
分数实例
Fraction 实例是由一对整数、有理数或字符串构成的分数。分数是可散列和不可变的,因此它们的值一旦创建就无法更改。
class fractions.Fraction(numerator=0, denominator=1) :它要求分子和分母为数字。分数值 = (分子/分母) 作为输出返回,默认值为 0。如果分母 = 0,则会引发除零错误。
例子:
from fractions import Fraction
print(Fraction(10, 35))
print(Fraction(10, 13))
print(Fraction()) # default value
输出:
2/7
10/13
0
将数学与分数相结合
数学模块的功能可以与分数表示混合使用。下面的例子描述了一种这样的表示。
import math
from fractions import Fraction
print("Square root: {}".format(math.sqrt(Fraction(21, 4))))
print("Floored to: {}".format(math.floor(Fraction(4100, 1100))))
print("Sined Fraction: {}".format(Fraction(math.sin(math.pi/2))))
输出:
Square root: 2.29128784747792
Floored to: 3
Sined Fraction: 1
四舍五入分数
可以根据用户在分母中想要的位数对分数进行四舍五入。
例子:
import fractions
result = fractions.Fraction('21/8')
print('Rounded without limit : {}'.format(round(result)))
print('Rounded to 2 digits : {}'.format(round(result, 2)))
输出:
Rounded without limit : 3
Rounded to 2 digits : 131/50
结论
我们已经理解并在 Python 中实现了分数模块的功能。