# 局部变量不能修改全局变量,如需要修改是需要先进行声明 a = 1 # 全局变量 def f(): global a # 声明使用全局变量 print("第1次打印:%s" % a) a = 2 # 修改全局变量 print("第2次打印:%s" % a) def f_1(): global a # 因为上面已声明全局变量,所以a已变成全局变量,所以嵌套时需要再次声明使用的上面的全局变量 a = 10 # 修改嵌套的全局变量 print("第3次打印:%s" % a) f_1() print("第4次打印:%s" % a) print("第5次打印:%s" % a) f() def b_f(): b = 20 # 局部变量 print("第1次打印:%s" % b) def b_f_1(): nonlocal b # 声明局部变量 b = 30 # 嵌套局部变量 print("第2次打印:%s" % b) b_f_1() print("第3次打印:%s" % b) b_f()
标签:局部变量,函数,作用域,打印,嵌套,print,全局变量,def From: https://www.cnblogs.com/GDquicksand/p/18397086