如何访问或更改嵌套在另一个函数内的函数内的变量值?

时间:2014-12-20 11:13:18

标签: python-2.7

def next1():
    x=1
    def nest2():
       x+=1
       nest2()
    return x

当我尝试调用fucntion nest1()时,它会说"局部变量' x'在分配之前引用 &#34 ;.我想访问在nest2()内的第2行声明的x。解决方案是什么?

1 个答案:

答案 0 :(得分:0)

你的嵌套函数中的

你没有定义x。你需要将x传递给它def nest2(x):加上你在nest2()中有一个无限循环 - 它不断地调用自身,并且永远不会返回一个值。
为什么不这样做呢?或者是否有某些原因需要嵌套。

def nest2(value): 
    value +=1
    return value   

def next1():
    x=1
    nest2(x)
    return x