ChainMap.new_child() return 是什么意思?
What does ChainMap.new_child() return?
我正在阅读 David Beazley & Brian K. Jones 's book "Python Cookbook" (Ed 3)。在第 35 页中有一个 ChainMap
的例子。 values
跳上跳下不太明白,请看下面我的理解和问题:
>>> values = ChainMap()
>>> values['x'] = 1
我想现在 values
是 ChainMap({'x': 1})
>>> # Add a new mapping
>>> values = values.new_child()
>>> values['x'] = 2
在这 3 行的末尾,values
现在是什么? ChainMap
还是里面的字典?
我真的有点迷茫,这里的代码对我来说意味着ChainMap
添加了一个新的child,这应该是一个新的字典;所以 values
成为字典项 由 链接 ChainMap
;然后 values
被分配给新的字典 .
>>> # Add a new mapping
>>> values = values.new_child()
>>> values['x'] = 3
但是现在 values' start to call
new_child()again! Isnt'
new_child()can only be called by a
ChainMap, not a particular
dictionary` 它链接了吗?
这是一本好书,我想每个 Python 开发人员都应该至少阅读第 1 章和第 4 章
关于您的问题:
At the end of these 3 lines, what is values now?
值是 ChainMap
object,映射了 2 个词典:
values = ChainMap({'x': 1}, {'x': 2})
令人困惑的是(变异的)object 本身是从 new_child()
返回的,而不是真正的 child.
But now values' start to callnew_child()again!
当然你可以调用new_child()
任意多次,values
总是ChainMap
object定义方法new_child()
我正在阅读 David Beazley & Brian K. Jones 's book "Python Cookbook" (Ed 3)。在第 35 页中有一个 ChainMap
的例子。 values
跳上跳下不太明白,请看下面我的理解和问题:
>>> values = ChainMap()
>>> values['x'] = 1
我想现在 values
是 ChainMap({'x': 1})
>>> # Add a new mapping
>>> values = values.new_child()
>>> values['x'] = 2
在这 3 行的末尾,values
现在是什么? ChainMap
还是里面的字典?
我真的有点迷茫,这里的代码对我来说意味着ChainMap
添加了一个新的child,这应该是一个新的字典;所以 values
成为字典项 由 链接 ChainMap
;然后 values
被分配给新的字典 .
>>> # Add a new mapping
>>> values = values.new_child()
>>> values['x'] = 3
但是现在 values' start to call
new_child()again! Isnt'
new_child()can only be called by a
ChainMap, not a particular
dictionary` 它链接了吗?
这是一本好书,我想每个 Python 开发人员都应该至少阅读第 1 章和第 4 章
关于您的问题:
At the end of these 3 lines, what is values now?
值是 ChainMap
object,映射了 2 个词典:
values = ChainMap({'x': 1}, {'x': 2})
令人困惑的是(变异的)object 本身是从 new_child()
返回的,而不是真正的 child.
But now values' start to callnew_child()again!
当然你可以调用new_child()
任意多次,values
总是ChainMap
object定义方法new_child()