[Python-checkins] cpython (3.3): Update docstring for _asdict() to indicate it is obsolete.

raymond.hettinger python-checkins at python.org
Sat May 18 01:44:10 CEST 2013


http://hg.python.org/cpython/rev/c946f9b62852
changeset:   83820:c946f9b62852
branch:      3.3
parent:      83817:6786e681ed58
user:        Raymond Hettinger <python at rcn.com>
date:        Fri May 17 16:43:14 2013 -0700
summary:
  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.

files:
  Lib/collections/__init__.py |  29 ++++++++++++++----------
  1 files changed, 17 insertions(+), 12 deletions(-)


diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py
--- a/Lib/collections/__init__.py
+++ b/Lib/collections/__init__.py
@@ -236,7 +236,7 @@
 ### namedtuple
 ################################################################################
 
-_class_template = '''\
+_class_template = """\
 from builtins import property as _property, tuple as _tuple
 from operator import itemgetter as _itemgetter
 from collections import OrderedDict
@@ -260,16 +260,6 @@
             raise TypeError('Expected {num_fields:d} arguments, got %d' % len(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):
         'Return a new {typename} object replacing specified fields with new values'
         result = _self._make(map(kwds.pop, {field_names!r}, _self))
@@ -277,6 +267,21 @@
             raise ValueError('Got unexpected field names: %r' % list(kwds))
         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):
         'Return self as a plain tuple.  Used by copy and pickle.'
         return tuple(self)
@@ -286,7 +291,7 @@
         return None
 
 {field_defs}
-'''
+"""
 
 _repr_template = '{name}=%r'
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list