<分区>
我遵循引发异常的代码:
def a():
b = []
def inner():
b += 3
inner()
print (b)
>>> a()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "<console>", line 6, in a
File "<console>", line 5, in inner
UnboundLocalError: local variable 'b' referenced before assignment
但是,如果我像这样重写代码,它会按预期运行:
def a():
b = []
def inner():
b.append(5)
inner()
print(b)
>>> a()
[5]
我想知道为什么会这样,谢谢。