Clarify which dictionaries are updateable

by using the wording from the Py2.7 docs.
This commit is contained in:
Raymond Hettinger 2013-06-02 10:03:05 -07:00
parent dcdadfe39a
commit d71001749d
1 changed files with 10 additions and 10 deletions

View File

@ -1355,14 +1355,18 @@ are always available. They are listed here in alphabetical order.
.. 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).
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.
.. note::
The returned dictionary should not be modified:
the effects on the corresponding symbol table are undefined. [#]_
.. function:: zip(*iterables)
@ -1481,7 +1485,3 @@ are always available. They are listed here in alphabetical order.
.. [#] 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.