Use operator.index() instead of n.__index__().
diff --git a/Lib/fractions.py b/Lib/fractions.py
index 944e1fc..6bde774 100755
--- a/Lib/fractions.py
+++ b/Lib/fractions.py
@@ -96,11 +96,8 @@
if denominator == 0:
raise ZeroDivisionError('Fraction(%s, 0)' % numerator)
- try:
- numerator = numerator.__index__()
- denominator = denominator.__index__()
- except AttributeError:
- raise TypeError('Numerator and denominator must support __index__.')
+ numerator = operator.index(numerator)
+ denominator = operator.index(denominator)
g = gcd(numerator, denominator)
self._numerator = numerator // g
self._denominator = denominator // g