发现python作用域一个神奇的地方:
X=1
Y=['a']
def fun1():
print('fun1: X=', X)
def fun2():
print('fun2: X=', X)
def fun3():
print('fun3: Y=', Y)
Y[0] = 'b'
fun1()
fun2()
fun1中的X可以正常查找到全局作用域中的X,fun2则不行,但fun3又是可以的。
看来python的解析器是以语句块来解析的,不是按行解析执行的。