1. 程式人生 > >python中global 和 nonlocal 的作用域

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 的作用域