[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

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
  Clarify which dictionaries are updateable
by using the wording from the Py2.7 docs.

  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