[Python-checkins] cpython (3.3): Clarify which dictionaries are updateable

raymond.hettinger python-checkins at python.org
Sun Jun 2 19:05:16 CEST 2013


http://hg.python.org/cpython/rev/4c8426acd2cf
changeset:   84013:4c8426acd2cf
branch:      3.3
parent:      84011:b6464827bddb
user:        Raymond Hettinger <python at rcn.com>
date:        Sun Jun 02 10:03:05 2013 -0700
summary:
  Clarify which dictionaries are updateable
by using the wording from the Py2.7 docs.

files:
  Doc/library/functions.rst |  20 ++++++++++----------
  1 files changed, 10 insertions(+), 10 deletions(-)


diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1355,14 +1355,18 @@
 
 .. function:: vars([object])
 
-   Without an argument, act like :func:`locals`.
+   Return the :attr:`__dict__` attribute for a module, class, instance,
+   or any other object with a :attr:`__dict__` attribute.
 
-   With a module, class or class instance object as argument (or anything else that
-   has a :attr:`__dict__` attribute), return that attribute.
+   Objects such as modules and instances have an updateable :attr:`__dict__`
+   attribute; however, other objects may have write restrictions on their
+   :attr:`__dict__` attributes (for example, classes use a
+   dictproxy to prevent direct dictionary updates).
 
-   .. note::
-      The returned dictionary should not be modified:
-      the effects on the corresponding symbol table are undefined. [#]_
+   Without an argument, :func:`vars` acts like :func:`locals`.  Note, the
+   locals dictionary is only useful for reads since updates to the locals
+   dictionary are ignored.
+
 
 .. function:: zip(*iterables)
 
@@ -1481,7 +1485,3 @@
 .. [#] Note that the parser only accepts the Unix-style end of line convention.
    If you are reading the code from a file, make sure to use newline conversion
    mode to convert Windows or Mac-style newlines.
-
-.. [#] In the current implementation, local variable bindings cannot normally be
-   affected this way, but variables retrieved from other scopes (such as modules)
-   can be.  This may change.

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


More information about the Python-checkins mailing list