global 定义全局变量,必须先声明,在使用 例如:global a #声明全局变量 a = a+1 locals() 获取本函数作用域中的局部变量(函数即变量) nonlocal 必须在整个嵌套函数作用域内定义局部变量,获取上层函数的变量 例如: 1. def test(): a = 1 def test1(): nonlocal a #必须先声明 a = a+1 print (a) return test1 t = test() t() 打印a = 2 2. def test(): 打印a = 2 如果nonlocal的外层函数没有定义局部变量,则报错
|
|