1.global用在 函数中的变量想用外部的变量
count =0
def cal():
#global count
count +=1
print(count)
cal()
上面的会显示错误,因为对外面的变量进行赋值的话,需要在里面将变量置为全局变量,把global放开就好了。
2.nonlocal用于函数中的函数:
def cal():
count =0
def cal2():
nonlocal count
count +=1
print(count)
cal2()
cal()
3.nonlocal可以用global代替解决:
count =0
def cal():
global count
def cal2():
global count
count +=1
print(count)
cal2()
cal()
即将外面的count拿到cal()中,再将cal()中拿到cal2()中。
4. global不能用nonlocal代替