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>
|
||||
def __repr__(self):
|
||||
'Return a nicely formatted representation string'
|
||||
return 'Point(x=%r, y=%r)' % self
|
||||
return self.__class__.__name__ + '(x=%r, y=%r)' % self
|
||||
<BLANKLINE>
|
||||
def _asdict(self):
|
||||
'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
|
||||
def __repr__(self):
|
||||
'Return a nicely formatted representation string'
|
||||
return '%(typename)s(%(reprtxt)s)' %% self \n
|
||||
return self.__class__.__name__ + '(%(reprtxt)s)' %% self \n
|
||||
def _asdict(self):
|
||||
'Return a new OrderedDict which maps field names to their values'
|
||||
return OrderedDict(zip(self._fields, self)) \n
|
||||
|
|
|
@ -218,6 +218,16 @@ class TestNamedTuple(unittest.TestCase):
|
|||
# test __getnewargs__
|
||||
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):
|
||||
|
||||
def validate_abstract_methods(self, abc, *names):
|
||||
|
|
Loading…
Reference in New Issue