mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	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
					
				
					 4 changed files with 15 additions and 2 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue