python作用域查找

发现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的解析器是以语句块来解析的,不是按行解析执行的。

猜你喜欢

转载自blog.csdn.net/zhoudekuai/article/details/81031636
今日推荐