mirror of https://github.com/python/cpython
Update docstring for _asdict() to indicate it is obsolete.
Use the cleaner looking @property style for __dict__. Move _replace() to be just after make() to indicate that it is a core method on named tuples.
This commit is contained in:
parent
d2b58a9880
commit
587d3bf78a
|
@ -236,7 +236,7 @@ class OrderedDict(dict):
|
||||||
### namedtuple
|
### namedtuple
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
_class_template = '''\
|
_class_template = """\
|
||||||
from builtins import property as _property, tuple as _tuple
|
from builtins import property as _property, tuple as _tuple
|
||||||
from operator import itemgetter as _itemgetter
|
from operator import itemgetter as _itemgetter
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
@ -260,16 +260,6 @@ class {typename}(tuple):
|
||||||
raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result))
|
raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def __repr__(self):
|
|
||||||
'Return a nicely formatted representation string'
|
|
||||||
return self.__class__.__name__ + '({repr_fmt})' % self
|
|
||||||
|
|
||||||
def _asdict(self):
|
|
||||||
'Return a new OrderedDict which maps field names to their values'
|
|
||||||
return OrderedDict(zip(self._fields, self))
|
|
||||||
|
|
||||||
__dict__ = property(_asdict)
|
|
||||||
|
|
||||||
def _replace(_self, **kwds):
|
def _replace(_self, **kwds):
|
||||||
'Return a new {typename} object replacing specified fields with new values'
|
'Return a new {typename} object replacing specified fields with new values'
|
||||||
result = _self._make(map(kwds.pop, {field_names!r}, _self))
|
result = _self._make(map(kwds.pop, {field_names!r}, _self))
|
||||||
|
@ -277,6 +267,21 @@ class {typename}(tuple):
|
||||||
raise ValueError('Got unexpected field names: %r' % list(kwds))
|
raise ValueError('Got unexpected field names: %r' % list(kwds))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
'Return a nicely formatted representation string'
|
||||||
|
return self.__class__.__name__ + '({repr_fmt})' % self
|
||||||
|
|
||||||
|
@property
|
||||||
|
def __dict__(self):
|
||||||
|
'A new OrderedDict mapping field names to their values'
|
||||||
|
return OrderedDict(zip(self._fields, self))
|
||||||
|
|
||||||
|
def _asdict(self):
|
||||||
|
'''Return a new OrderedDict which maps field names to their values.
|
||||||
|
This method is obsolete. Use vars(nt) or nt.__dict__ instead.
|
||||||
|
'''
|
||||||
|
return self.__dict__
|
||||||
|
|
||||||
def __getnewargs__(self):
|
def __getnewargs__(self):
|
||||||
'Return self as a plain tuple. Used by copy and pickle.'
|
'Return self as a plain tuple. Used by copy and pickle.'
|
||||||
return tuple(self)
|
return tuple(self)
|
||||||
|
@ -286,7 +291,7 @@ class {typename}(tuple):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
{field_defs}
|
{field_defs}
|
||||||
'''
|
"""
|
||||||
|
|
||||||
_repr_template = '{name}=%r'
|
_repr_template = '{name}=%r'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue