python3 中 global nonlocal关键字

global

当在函数内部想要修改全局变量的时候, 需要使用指明global, 这样 内部的变量和全局的变量是指向相同的地址的, 所以修改的时候就是修改全局的变量

python3 中 global nonlocal关键字

 

nonlocal

nonlocal 与global类似, 但是他是修饰外部非全局的变量的

python3 中 global nonlocal关键字

另外

如果在嵌套内部使用global则会使这样的

python3 中 global nonlocal关键字

原始全局变量中是没有a的所以会报错, 在嵌套的内部创造了全局的变量, 并赋值, 但是外部函数的a仍是250, 并不会改变