The :mod:`fractions` module provides support for rational number arithmetic.
-A Fraction instance can be constructed from a pair of integers, from
-another rational number, or from a string.
+A Fraction instance can be constructed from a pair of rational numbers, from
+a single number, or from a string.
.. class:: Fraction(numerator=0, denominator=1)
Fraction(other_fraction)
The first version requires that *numerator* and *denominator* are instances
of :class:`numbers.Rational` and returns a new :class:`Fraction` instance
- with value ``numerator/denominator``. If *denominator* is ``0``, it
+ with a value equal to ``numerator/denominator``. If *denominator* is zero, it
raises a :exc:`ZeroDivisionError`. The second version requires that
*other_fraction* is an instance of :class:`numbers.Rational` and returns a
:class:`Fraction` instance with the same value. The next two versions accept
.. attribute:: denominator
- Denominator of the Fraction in lowest term.
+ Denominator of the Fraction in lowest terms.
+ Guaranteed to be positive.
.. method:: as_integer_ratio()
class Rational(Real):
- """.numerator and .denominator should be in lowest terms."""
+ """To Real, Rational adds numerator and denominator properties.
+
+ The numerator and denominator values should be in lowest terms,
+ with a positive denominator.
+ """
__slots__ = ()
@property
@abstractmethod
def numerator(self):
+ """The numerator of a rational number in lowest terms."""
raise NotImplementedError
@property
@abstractmethod
def denominator(self):
+ """The denominator of a rational number in lowest terms.
+
+ This denominator should be positive.
+ """
raise NotImplementedError
# Concrete implementation of Real's conversion to float.