def func():
nonlocal n
n=100 #局部变量
list1=[9,7,3,4,5]
def inner_func():
#对list1进行+5操作
for index,i in enumerate(list1): #单纯遍历不能改变数值,enumerate可以
list1[index]=i+n #内部函数可以访问外部函数的变量
list1.sort()
n+=101
inner_func()
print(list1)
func()
a=100
def func():
b=90
def inner_func():
global a #内部函数需要修改全局不可变的变量,需要声明global
nonlocal b #修改外部局部不可变变量,需要在内部函数中声明nonlocal
c=10
c+=12
#尝试修改b
b+=20
a+=70
print(a,b,c)
inner_func()
func()
print(locals()) #locals是一个字典
print(globals())