Day13:global和nonlocal

1. global

  • 将这里的x申请为全局变量(将局部变量修改全局的名字对应的值,不可变类型),没有global这里的x与全局变量的x不是一个东西
    x = 111
    
    
    def func():
        global x  # 这里的 x 与上面的全局变量 x ,不是一个东西
        x = 222
    
    
    func()
    print(x)
    
    # 输出结果是:222

2.  nonlocal

  • 修改函数外层函数包含的名字对应的值(不可变类型)
    x = 0
    def f1():
        x = 11
        def f2():
            nonlocal x
            x = 22
        f2()
        print(x)
    
    f1()
    
    # 输出结果是 222