局部变量 全局变量
global声明函数内使用全局变量
sumAB = 10 def printSumAB(): global sumAB #声明函数内使用全局变量 sumAB = 100 printSumAB() print(sumAB)
nonlocal声明使用外层函数的局部变量
def counter(): count = 0 # 定义一个外层函数的局部变量,用于存储计数值,初始为0 def next(): # 定义一个嵌套函数,用于返回并修改计数值 nonlocal count #用nonlocal声明使用外层函数的count变量 count += 1 #将计数值加1 return count # 返回计数值 return next c = counter() #c其实就是next函数名 print(c()) # 输出1 print(c()) # 输出2 print(c()) # 输出3