a = 1
def test():
print(a)
test()
这段代码可以正常运行,print(a)输出“1”
a =1
def test():
print(a)
a=2
test()
这段代码仅仅在“print(a)”后边添加了“a=2”,就出错了“UnboundLocalError: local variable 'a' referenced before assignment”
连print(a)也不能运行了
何故?python解释器会“预读”后续代码?