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