1、全局作用域变量在局部作用域未定义(赋值或参数)时,全局作用域变量可以在局部作用域读取。
>>> def func(): print(a) # 这种写法是不好的 >>> a = 2 # a是全局作用域变量,但可以被局部作用域读取 >>> func() 2
2、当变量被定义为局部作用域时,局部作用域不再读取全局作用域的变量,当变量被定义前读取时,就会出现错误。
>>> b = 5 >>> def func(a): print(a) print(b) # 尝试打印b变量出错,程序终止 b = 8 >>> func(3) 3 Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> func(3) File "<pyshell#5>", line 3, in func print(b) UnboundLocalError: local variable 'b' referenced before assignment
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试