Have Decimal.as_tuple return a named tuple.
diff --git a/Lib/decimal.py b/Lib/decimal.py
index 3ee078f..8b54821 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -136,6 +136,12 @@
import copy as _copy
+try:
+ from collections import namedtuple as _namedtuple
+ DecimalTuple = _namedtuple('DecimalTuple', 'sign digits exponent')
+except ImportError:
+ DecimalTuple = lambda *args: args
+
# Rounding
ROUND_DOWN = 'ROUND_DOWN'
ROUND_HALF_UP = 'ROUND_HALF_UP'
@@ -820,7 +826,7 @@
To show the internals exactly as they are.
"""
- return (self._sign, tuple(map(int, self._int)), self._exp)
+ return DecimalTuple(self._sign, tuple(map(int, self._int)), self._exp)
def __repr__(self):
"""Represents the number as an instance of Decimal."""