1、当局部作用域未定义(赋值或参数)时,可以在局部作用域读取全局作用域变量。
>>>deffunc(): print(a)#这种写法不好 >>>a=2#a是一个全局域变量,但可以被局部域读取 >>>func() 2
2、当变量被定义为局部作用域时,局部作用域不再读取全局作用域的变量,当变量被定义前读取时,就会出现错误。
>>>b=5 >>>deffunc(a): print(a) print(b)#尝试打印b变量错误,程序终止 b=8 >>>func(3) 3 Traceback(mostrecentcalllast): File"<pyshell#6>",line1,in<module> func(3) File"<pyshell#5>",line3,infunc print(b) UnboundLocalError:localvariable'b'referencedbeforeassignment
以上是python变量在作用域的使用,希望对大家有所帮助。更多Python学习指导:python基础教程
本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。