From 090df844ea16af3a5df79aba2b9c89ac6a31ba06 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Thu, 19 May 2022 16:28:51 +0100 Subject: gh-92417: `fractions`, `decimal`: Improve docs for alternative constructor methods (GH-92421) Co-authored-by: Ezio Melotti --- Doc/library/decimal.rst | 5 +++-- Doc/library/fractions.rst | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index 2ad84f2..d052581 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -571,9 +571,10 @@ Decimal objects >>> Decimal(321).exp() Decimal('2.561702493119680037517373933E+139') - .. method:: from_float(f) + .. classmethod:: from_float(f) - Classmethod that converts a float to a decimal number, exactly. + Alternative constructor that only accepts instances of :class:`float` or + :class:`int`. Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`. Since 0.1 is not exactly representable in binary floating point, the diff --git a/Doc/library/fractions.rst b/Doc/library/fractions.rst index c893f2d..5f0ecf1 100644 --- a/Doc/library/fractions.rst +++ b/Doc/library/fractions.rst @@ -114,10 +114,10 @@ another rational number, or from a string. .. versionadded:: 3.8 - .. method:: from_float(flt) + .. classmethod:: from_float(flt) - This class method constructs a :class:`Fraction` representing the exact - value of *flt*, which must be a :class:`float`. Beware that + Alternative constructor which only accepts instances of + :class:`float` or :class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is not the same value as ``Fraction(3, 10)``. .. note:: @@ -126,10 +126,10 @@ another rational number, or from a string. :class:`Fraction` instance directly from a :class:`float`. - .. method:: from_decimal(dec) + .. classmethod:: from_decimal(dec) - This class method constructs a :class:`Fraction` representing the exact - value of *dec*, which must be a :class:`decimal.Decimal` instance. + Alternative constructor which only accepts instances of + :class:`decimal.Decimal` or :class:`numbers.Integral`. .. note:: -- cgit v0.12