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 import Fraction >>> 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 >>>