2011-12-21 73 views
0

之前参考I有一个错误(在标题显示)当我运行该脚本而发生:UnboundLocalError:局部变量“conn将”分配

​​

康恩具有全局范围,并且被引用的在被分配给无在函数中 - 为什么错误信息?

+0

您还没有在整个函数体粘贴。问题就出现了,因为你是后来在此范围内重新绑定变量 – 2011-12-21 09:42:50

回答

5

在Python不得不宣布要在功能改变与global关键字的全局变量:

def connectDb(): 
    global conn 
    if conn is not None: # Error occurs on this line 
     return 
    ... 

我的猜测是,你要分配一些价值conn某处后来在功能,所以你必须使用global关键字。

+2

哇,我从来没有看到过 - 看起来有点像PHP :) – 2011-12-21 09:34:11

+0

如果你想重新绑定变量 – 2011-12-21 09:34:26

+0

@gnibbler也就是说只需要:是的,当然。但我认为这就是OP在后面做的功能。 – Constantinius 2011-12-21 09:35:57

相关问题