mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
#9801: document how list and dict proxies created by Managers behave w.r.t. mutable items.
This commit is contained in:
parent
c1c4bf85c1
commit
3ed4114f7d
1 changed files with 18 additions and 0 deletions
|
@ -1284,6 +1284,24 @@ their parent process exits. The manager classes are defined in the
|
|||
|
||||
Create a shared ``list`` object and return a proxy for it.
|
||||
|
||||
.. note::
|
||||
|
||||
Modifications to mutable values or items in dict and list proxies will not
|
||||
be propagated through the manager, because the proxy has no way of knowing
|
||||
when its values or items are modified. To modify such an item, you can
|
||||
re-assign the modified object to the container proxy::
|
||||
|
||||
# create a list proxy and append a mutable object (a dictionary)
|
||||
lproxy = manager.list()
|
||||
lproxy.append({})
|
||||
# now mutate the dictionary
|
||||
d = lproxy[0]
|
||||
d['a'] = 1
|
||||
d['b'] = 2
|
||||
# at this point, the changes to d are not yet synced, but by
|
||||
# reassigning the dictionary, the proxy is notified of the change
|
||||
lproxy[0] = d
|
||||
|
||||
|
||||
Namespace objects
|
||||
>>>>>>>>>>>>>>>>>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue