VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • Python学习: 关键字global和nonlocal用法

一、global

global关键字用来在函数或其他局部作用域中使用全局变量

1.1 如果局部要对全局变量修改,而不使用global关键字

count = 0
def global_test():
    count += 1
    print(count)
global_test()

会出现如下错误:

UnboundLocalError: local variable 'count' referenced before assignment

1.2 如果局部要对全局变量修改,应在局部声明该全局变量

复制代码
count=0
def globaltest1():
    global count
    count+=1
    print("globaltest1 "+str(count))
globaltest1()
print("count "+str(count))
以上输出为:

globaltest1 1
count 1

复制代码

1.3 对于函数传值

复制代码
count=0
def globaltest(count):
    count+=1
    print("globaltest "+str(count))

globaltest(count)
print("count "+str(count))
以上输出为:

globaltest 1
count 0

复制代码

二、nonlocal

nonlocal声明的变量不是局部变量,也不是全局变量,而是外部潜逃函数内的变量

复制代码
def  nonlocaltest():
    count=0
    def test():
      nonlocal count
      count+=1
      print("nonlocaltest " + str(count))
    test()
    print("count "+str(count))
nonlocaltest()
以上输出为:

nonlocaltest 1
count 1

复制代码

 

 



出处:https://www.cnblogs.com/lzk-seven/p/13807207.html



相关教程