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

Python UnboundLocalError 异常

时间:2019-01-22 11:48:23      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:lob   sign   module   pre   int   back   err   most   ast   

如下,当我们在函数中对全局变量重新赋值的时候就会出现 UnboundLocalError 异常,虽然 num 这个变量在外部已经被定义成全局变量,但是如果在函数中
进行重新赋值操作,python 会自动把这个变量当成是在函数这个作用域内的变量来对待。因此,如果你要对变量进行重新赋值操作,那就必须先用global进行声明。

In [1]: num = 10

In [2]: def fun():
   ...:     num += 1  
   ...:     print(num) 
   ...:     

In [3]: fun()
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-3-69e6a439c52d> in <module>()
----> 1 fun()

<ipython-input-2-9ae092f6ca83> in fun()
      1 def fun():
----> 2     num += 1
      3     print(num)
      4 

UnboundLocalError: local variable num referenced before assignment

 

 

 

 

 

 

    

Python UnboundLocalError 异常

标签:lob   sign   module   pre   int   back   err   most   ast   

原文地址:https://www.cnblogs.com/pzk7788/p/10302629.html

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