关键字nonlocal是用来声明变量不处于当前的函数之中,需要编译器在包含这个函数的函数中寻找nonlocal声明的同名变量,找到后,就可以使用这个对象对应的值在当前函数中进行操作。它可以部分替代global的声明效果,有效控制少数人员滥用global声明。
示例如下:
def test_1():
x =2
def test_2():
nonlocal x
return(x + 1)
return(x)
x = 2
print(str(test_1()))
关键字nonlocal是用来声明变量不处于当前的函数之中,需要编译器在包含这个函数的函数中寻找nonlocal声明的同名变量,找到后,就可以使用这个对象对应的值在当前函数中进行操作。它可以部分替代global的声明效果,有效控制少数人员滥用global声明。
示例如下:
def test_1():
x =2
def test_2():
nonlocal x
return(x + 1)
return(x)
x = 2
print(str(test_1()))