首页 > 解决方案 > 如何从嵌套函数修改变量?

问题描述

我在 python 中尝试了一些使用范围的东西,但遇到了一个小问题。我这里有这段代码。我想var从嵌套函数中更改变量。

def func_1():
    var = 1
    
    def func_2():
        var = 2
        
    func_2()
    print(var)

func_1()

什么时候func_1()运行,var还是1。可以在下编辑varfunc_2

标签: pythonpython-3.xscope

解决方案


您可以使用nonlocal关键字:

def func_1():
    var = 1
    def func_2():
        nonlocal var
        var = 2
    func_2()
    print(var)

func_1() # prints 2

推荐阅读