Issue #27832: Make _normalize parameter to Fraction.__init__ keyword-only.
This commit is contained in:
parent
f4d28d4385
commit
7caf908c64
|
@ -81,7 +81,7 @@ class Fraction(numbers.Rational):
|
|||
__slots__ = ('_numerator', '_denominator')
|
||||
|
||||
# We're immutable, so use __new__ not __init__
|
||||
def __new__(cls, numerator=0, denominator=None, _normalize=True):
|
||||
def __new__(cls, numerator=0, denominator=None, *, _normalize=True):
|
||||
"""Constructs a Rational.
|
||||
|
||||
Takes a string like '3/2' or '1.5', another Rational instance, a
|
||||
|
|
|
@ -150,6 +150,7 @@ class FractionTest(unittest.TestCase):
|
|||
self.assertRaises(TypeError, F, "3/2", 3)
|
||||
self.assertRaises(TypeError, F, 3, 0j)
|
||||
self.assertRaises(TypeError, F, 3, 1j)
|
||||
self.assertRaises(TypeError, F, 1, 2, 3)
|
||||
|
||||
@requires_IEEE_754
|
||||
def testInitFromFloat(self):
|
||||
|
|
|
@ -46,6 +46,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #27832: Make ``_normalize`` parameter to ``Fraction`` constuctor
|
||||
keyword-only, so that ``Fraction(2, 3, 4)`` now raises ``TypeError``.
|
||||
|
||||
- Issue #27539: Fix unnormalised ``Fraction.__pow__`` result in the case
|
||||
of negative exponent and negative base.
|
||||
|
||||
|
|
Loading…
Reference in New Issue