fractions 模块提供了分数类型的支持。
构造函数:
class fractions.Fraction(numerator=0, denominator=1)
class fractions.Fraction(int|float|str|Decimal|Fraction)
可以同时提供分子(numerator)和分母(denominator)给构造函数用于实例化Fraction类,但两者必须同时是int类型或者numbers.Rational类型,否则会抛出类型错误。当分母为0,初始化的时候会导致抛出异常ZeroDivisionError。
分数类型:
from fractions importFraction
>>> x=Fraction(1,3)
>>> y=Fraction(4,6)
>>> x+y
Fraction(1,1)
>>>Fraction('.25')
Fraction(1,4)
浮点数与分数的转换:
>>> f=2.5
>>> z=Fraction(*f.as_integer_ratio())
>>> z
Fraction(5,2)
>>> x=Fraction(1,3)
>>>float(x)
0.3333333333333333
>>>