最近在刷题的时候碰到个奇怪的问题。例子大概是这样似的:
In [1]: a = 100 In [2]: def func(): ...: print(a) ...: In [3]: func() 100 In [4]: def another_func(): ...: a += 100 ...: print(a) ...: In [5]: another_func() --------------------------------------------------------------------------- UnboundLocalError Traceback (most recent call last) <ipython-input-5-464bd62798b3> in <module>() ----> 1 another_func() <ipython-input-4-1674a1f57571> in another_func() 1 def another_func(): ----> 2 a += 100 3 print(a) 4 UnboundLocalError: local variable 'a' referenced before assignment In [1]: a = 100 In [2]