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.
.. index:: single: as_integer_ratio()
The first version requires that *numerator* and *denominator* are instances
of :class:`numbers.Rational` and returns a new :class:`Fraction` instance
- with value equal to ``numerator/denominator`` where the denominator is positive.
- If *denominator* is ``0``, it raises a :exc:`ZeroDivisionError`.
+ with a value equal to ``numerator/denominator``.
+ If *denominator* is zero, it raises a :exc:`ZeroDivisionError`.
The second version requires that *number* is an instance of
:class:`numbers.Rational` or has the :meth:`!as_integer_ratio` method
.. 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.