在嵌套函数中访问python全局变量

时间:2020-07-12 22:59:41

标签: python

我是python语言的初学者。在了解全局变量的工作原理时,我头疼。这是一个对我没有意义的特定示例:

def func():
    def nested():
        global x
        x=1
    print(x)

func()

抛出:global name 'x' is not defined

为什么即使在嵌套函数中将x设置为全局,x仍然不可用?

1 个答案:

答案 0 :(得分:2)

您必须调用nested()来定义全局变量x。如果不调用它,就没有变量x的定义,因此您将有错误!

def func():
    def nested():
        global x
        x=1
    nested()
    print(x)

func()
相关问题