码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习: 关键字global和nonlocal用法

时间:2020-10-13 17:39:54      阅读:27      评论:0      收藏:0      [点我收藏+]

标签:var   error   test   出现   学习   外部   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

 

Python学习: 关键字global和nonlocal用法

标签:var   error   test   出现   学习   外部   nonlocal   关键字   用法   

原文地址:https://www.cnblogs.com/lzk-seven/p/13807207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!