global和nonlocal 关键字
1 global关键字可以将局部变量变成一个全局变量
格式 : global 变量名称
a = 10
print(id(a))
def func()
global a #变成了全局变量
a = 20 #修改全局变量的值
print(id(a)) #id 相同
print(a)
func()
prinr(a)
nonlocal 关键字可以修改外层(全局变量)变量
def outter():
name = 'zs'
def inner():
nonlocal name #和outter中的name是同一个变量
name = '赵四'
inner
print(name) #赵四
outter()
print(name) #赵四
命名空间和作用域的关系
命名空间定义了在某一个作用域内,变量名和绑定值之间的对应关系,命名空间是键值对的集合,变量名与值一一对应。
作用域定义了命名空间中的变量能够在多大范围内起作用