2011-12-21 75 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

相關問題