给出以下代码:
a = 0
def foo():
# global a
a += 1
foo()
Run Code Online (Sandbox Code Playgroud)
运行时,Python抱怨:UnboundLocalError:赋值前引用的局部变量'a'
但是,当它是一本字典时......
a = {}
def foo():
a['bar'] = 0
foo()
Run Code Online (Sandbox Code Playgroud)
事情运行得很好......
任何人都知道为什么我们可以在第二块代码中引用a,但不是第一块?