mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
merge
This commit is contained in:
commit
22cc1183a3
3 changed files with 5 additions and 1 deletions
|
@ -269,6 +269,8 @@ class {typename}(tuple):
|
|||
'Return a new OrderedDict which maps field names to their values'
|
||||
return OrderedDict(zip(self._fields, self))
|
||||
|
||||
__dict__ = property(_asdict)
|
||||
|
||||
def _replace(_self, **kwds):
|
||||
'Return a new {typename} object replacing specified fields with new values'
|
||||
result = _self._make(map(kwds.pop, {field_names!r}, _self))
|
||||
|
|
|
@ -181,12 +181,12 @@ class TestNamedTuple(unittest.TestCase):
|
|||
self.assertRaises(TypeError, eval, 'Point(XXX=1, y=2)', locals()) # wrong keyword argument
|
||||
self.assertRaises(TypeError, eval, 'Point(x=1)', locals()) # missing keyword argument
|
||||
self.assertEqual(repr(p), 'Point(x=11, y=22)')
|
||||
self.assertNotIn('__dict__', dir(p)) # verify instance has no dict
|
||||
self.assertNotIn('__weakref__', dir(p))
|
||||
self.assertEqual(p, Point._make([11, 22])) # test _make classmethod
|
||||
self.assertEqual(p._fields, ('x', 'y')) # test _fields attribute
|
||||
self.assertEqual(p._replace(x=1), (1, 22)) # test _replace method
|
||||
self.assertEqual(p._asdict(), dict(x=11, y=22)) # test _asdict method
|
||||
self.assertEqual(vars(p), p._asdict()) # verify that vars() works
|
||||
|
||||
try:
|
||||
p._replace(x=1, error=2)
|
||||
|
|
|
@ -188,6 +188,8 @@ Library
|
|||
pydoc, tkinter, and xml.parsers.expat. This were useless version constants
|
||||
left over from the Mercurial transition
|
||||
|
||||
- Named tuples now work correctly with vars().
|
||||
|
||||
- Issue #12085: Fix an attribute error in subprocess.Popen destructor if the
|
||||
constructor has failed, e.g. because of an undeclared keyword argument. Patch
|
||||
written by Oleg Oshmyan.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue