首页 > QQ技巧 > Python报错:UnboundLocalError

Python报错:UnboundLocalError

时间:2021-04-14 20:36 作者:QQ地带 我要评论

一个简单的自增计数器示例:
 
counter = 0
 
def increment():
  counter += 1
 
increment()
执行increment()报错:UnboundLocalError。
 
原因:
 
Python是是没有变量声明的,当在函数内赋值给变量,变量被认为是本地变量。所以会抛出UnboundError。
 
解决方法:
 
定义变量为global变量
 
counter = 0
 
def increment():
  global counter
  counter += 1
 
increment()
python3.x可以使用nolocal
 
def incrementer():
    counter = 0
    def increment():
        nonlocal counter
        counter += 1
        return counter
    return increment
 
increment = incrementer()
 
increment()   # 1
increment()   # 2

标签: Python
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告