我無法找到這種行爲的充分解釋。Python - 當地人()和關閉
>>> def a():
... foo = 0
... print locals()
... def b():
... print locals()
... b()
>>> a()
{'foo': 0}
{}
但是:
>>> def a():
... foo = 0
... print locals()
... def b():
foo
... print locals()
... b()
>>> a()
{'foo': 0}
{'foo': 0}
據我所知,在第二種情況下有一個封閉的,但我無法找到的其實是什麼,在什麼條件下應該返回功能locals()
的詳細描述。
如果我是你,我會接受邁克爾舒勒的回答(他評論中的upvote/downvote下的複選標記)。分享愛心,併爲他的努力表示讚賞! – rsegal 2012-08-10 03:50:10
@rsegal Rostyslav Dzinko的答案很重要。 – 2012-08-10 14:30:35
真的!我應該說得更好一些:我試着說更多的是你應該對你的答案傾訴,而不是我最喜歡的。 但是我確實並且仍然認爲Michael的回答更直接地解決了你的問題,指出Python搜索範圍很大的模糊值,這就是你演示的行爲! – rsegal 2012-08-10 14:44:15