mirror of https://github.com/python/cpython
Issue #9507: Named tuple repr will now automatically display the right
name in a tuple subclass.
This commit is contained in:
parent
a6b76ba52e
commit
d331ce9e66
|
@ -605,7 +605,7 @@ Example:
|
||||||
<BLANKLINE>
|
<BLANKLINE>
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
'Return a nicely formatted representation string'
|
'Return a nicely formatted representation string'
|
||||||
return 'Point(x=%r, y=%r)' % self
|
return self.__class__.__name__ + '(x=%r, y=%r)' % self
|
||||||
<BLANKLINE>
|
<BLANKLINE>
|
||||||
def _asdict(self):
|
def _asdict(self):
|
||||||
'Return a new OrderedDict which maps field names to their values'
|
'Return a new OrderedDict which maps field names to their values'
|
||||||
|
|
|
@ -240,7 +240,7 @@ def namedtuple(typename, field_names, verbose=False, rename=False):
|
||||||
return result \n
|
return result \n
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
'Return a nicely formatted representation string'
|
'Return a nicely formatted representation string'
|
||||||
return '%(typename)s(%(reprtxt)s)' %% self \n
|
return self.__class__.__name__ + '(%(reprtxt)s)' %% self \n
|
||||||
def _asdict(self):
|
def _asdict(self):
|
||||||
'Return a new OrderedDict which maps field names to their values'
|
'Return a new OrderedDict which maps field names to their values'
|
||||||
return OrderedDict(zip(self._fields, self)) \n
|
return OrderedDict(zip(self._fields, self)) \n
|
||||||
|
|
|
@ -218,6 +218,16 @@ class TestNamedTuple(unittest.TestCase):
|
||||||
# test __getnewargs__
|
# test __getnewargs__
|
||||||
self.assertEqual(t.__getnewargs__(), values)
|
self.assertEqual(t.__getnewargs__(), values)
|
||||||
|
|
||||||
|
def test_repr(self):
|
||||||
|
with support.captured_stdout() as template:
|
||||||
|
A = namedtuple('A', 'x', verbose=True)
|
||||||
|
self.assertEqual(repr(A(1)), 'A(x=1)')
|
||||||
|
# repr should show the name of the subclass
|
||||||
|
class B(A):
|
||||||
|
pass
|
||||||
|
self.assertEqual(repr(B(1)), 'B(x=1)')
|
||||||
|
|
||||||
|
|
||||||
class ABCTestCase(unittest.TestCase):
|
class ABCTestCase(unittest.TestCase):
|
||||||
|
|
||||||
def validate_abstract_methods(self, abc, *names):
|
def validate_abstract_methods(self, abc, *names):
|
||||||
|
|
|
@ -24,6 +24,9 @@ Core and Builtins
|
||||||
Extensions
|
Extensions
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
- Issue #9507: Named tuple repr will now automatically display the right
|
||||||
|
name in a tuple subclass.
|
||||||
|
|
||||||
- Issue #9324: Add parameter validation to signal.signal on Windows in order
|
- Issue #9324: Add parameter validation to signal.signal on Windows in order
|
||||||
to prevent crashes.
|
to prevent crashes.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue