global&执行顺序经典例子

# 作用域
a = 10  # 全局作用域

def pri():

     # global的作用就相当于传递参数,在函数外部声明的变量,如果在函数内想要使用,就用global来声明该变量,这样就相当于把该变量传递进来了,就可以引用该变量了

    global a
    print('********', a)

    # 如果是想在函数中调用全局变量,这需要global声明。之后调用全局变量,全局变量的值也随之可能发生改变

    def pri2():    # 函数中嵌套函数,相当于局部函数,只能在pri函数里才能调用
        global a
        print(a, '###')
        a = 30     # 局部作用域,局部优先
        print(a, '$$$')

    pri2()
    print(a, 'a')

print(a)
pri()
print(a, '%%%%')

原文地址:https://www.cnblogs.com/joy-field/p/15186604.html