嵌套函数中的全局范围

时间:2016-12-09 09:33:50

标签: python-3.x

为什么global不能像我认为的那样在嵌套场景中工作?我怎样才能获得相同的访问权限?

a = 0
def outer():
    def inner():
        global a
        a = 100

    print (a)

if __name__ == '__main__':
    outer() # 0

1 个答案:

答案 0 :(得分:1)

因为您实际上从未调用执行分配的inner()

def outer():
    def inner():
        global a
        a = 100
    inner()  # Invoke it
    print (a)

现在正确打印100