global:修改全局空间的变量对应的值
nonlobal:在外层的函数中,修改局部空间的变量值,完全不涉及全局变量; nonlobal只修改离它最近的一层,最近的一层没有变量继续向上找,直到找到最外层函数!
var=999
def r():
var=9;
def add():
修改局部空间的变量值,完全不涉及全局变量
nonlocal var
var+=1;
add();
print(var);
r();
print(var )
10
999
var=999
def r():
var=9;
def add():
只会 修改全局空间的变量
global var
var+=1;
add();
print(var);
r();
print(var )
9
1000