mirror of https://github.com/python/cpython
Deprecate nametuple._asdict()
This commit is contained in:
parent
8c03d832b3
commit
4e0172fd9a
|
@ -829,6 +829,9 @@ field names, the method and attribute names start with an underscore.
|
|||
.. versionchanged:: 3.1
|
||||
Returns an :class:`OrderedDict` instead of a regular :class:`dict`.
|
||||
|
||||
.. deprecated:: 3.4
|
||||
Use ``vars(nt)`` or ``nt.__dict__`` instead.
|
||||
|
||||
.. method:: somenamedtuple._replace(kwargs)
|
||||
|
||||
Return a new instance of the named tuple replacing specified fields with new
|
||||
|
@ -845,8 +848,8 @@ field names, the method and attribute names start with an underscore.
|
|||
|
||||
A string with the pure Python source code used to create the named
|
||||
tuple class. The source makes the named tuple self-documenting.
|
||||
It can be printed, executed using :func:`exec`, or saved to a file
|
||||
and imported.
|
||||
It can be printed, executed using :func:`exec`, customized, or saved
|
||||
to a file and imported.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
|
|
@ -280,6 +280,9 @@ class {typename}(tuple):
|
|||
'''Return a new OrderedDict which maps field names to their values.
|
||||
This method is obsolete. Use vars(nt) or nt.__dict__ instead.
|
||||
'''
|
||||
import warnings
|
||||
warnings.warn('_asdict() is deprecated. Use vars(nt) instead.',
|
||||
DeprecationWarning, stacklevel=2)
|
||||
return self.__dict__
|
||||
|
||||
def __getnewargs__(self):
|
||||
|
|
|
@ -217,8 +217,11 @@ class TestNamedTuple(unittest.TestCase):
|
|||
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
|
||||
self.assertEqual(p.__dict__,
|
||||
OrderedDict([('x', 11), ('y', 22)])) # test __dict__ attribute
|
||||
self.assertEqual(vars(p), p.__dict__) # verify that vars() works
|
||||
with self.assertWarns(DeprecationWarning): # check deprecate of _asdict
|
||||
p._asdict()
|
||||
|
||||
try:
|
||||
p._replace(x=1, error=2)
|
||||
|
|
|
@ -96,6 +96,9 @@ Library
|
|||
|
||||
- Issue #15758: Fix FileIO.readall() so it no longer has O(n**2) complexity.
|
||||
|
||||
- Deprecated the _asdict() method on named tuples. Use __dict__ or vars(nt)
|
||||
instead.
|
||||
|
||||
- Issue #14596: The struct.Struct() objects now use more compact implementation.
|
||||
|
||||
- Issue #17981: Closed socket on error in SysLogHandler.
|
||||
|
|
Loading…
Reference in New Issue