global,nonlocal

1.global

在局部,引入全局变量,使得局部变量可以修改全局变量

a = 10 # a为全局变量

def func():
    global a  #把外面的全局变量引入到局部
    a = 20    #创建局部变量,修改全局变量
   
func()
print(a)  #20

2.nonlocal

在局部,引入外层的局部变量

def func():
    a = 10
    def func2():
        nonlocal a 
        #向外找一层,看看有没有该变量,如果有就引入,如果没有,继续像外一层,知道全局(不包括全局)
        a = 20
    func2()
    print(a)

func()

你可能感兴趣的:(Python基础知识,python)