我在python中尝试了一些关于作用域的东西,遇到了一个小问题。我这里有这个代码。我想更改嵌套函数中的变量var
。
def func_1():
var = 1
def func_2():
var = 2
func_2()
print(var)
func_1()
当运行func_1()
时,var
仍然为1。是否可以在func_2
下编辑var
?
您可以使用nonlocal
关键字:
def func_1():
var = 1
def func_2():
nonlocal var
var = 2
func_2()
print(var)
func_1() # prints 2