python中global 和 nonlocal 的作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中global 和 nonlocal 的作用域相关的知识,希望对你有一定的参考价值。

python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 。
global
一、在局部如果声明全局变量,可以对全局变量修改,否则不行
gcount = 0
def global_test():
global gcount
gcount+=1
print (gcount)
global_test()
正确输出 1
————————————————————————————
gcount = 0
def global_test():
gcount+=1
print (gcount)
global_test()
UnboundLocalError: local variable ‘gcount‘ referenced before assignment
如果函数内要对全局变量修改,需要使用关键字global
二、 在局部如果不声明全局变量,并且不修改全局变量。则可以正常使用全局变量:

以上是关于python中global 和 nonlocal 的作用域的主要内容,如果未能解决你的问题,请参考以下文章

python中global 和 nonlocal 的作用域

python中的关键字global和nonlocal

python globals()和locals(),global和nonlocal,以及闭包

Python中的global和nonlocal

python随笔系列--global和nonlocal关键字

python-global和nonlocal区别