我是python语言的初学者。在了解全局变量的工作原理时,我头疼。这是一个对我没有意义的特定示例:
def func():
def nested():
global x
x=1
print(x)
func()
抛出:global name 'x' is not defined
为什么即使在嵌套函数中将x设置为全局,x仍然不可用?
答案 0 :(得分:2)
您必须调用nested()
来定义全局变量x
。如果不调用它,就没有变量x
的定义,因此您将有错误!
def func():
def nested():
global x
x=1
nested()
print(x)
func()