Python中的UnboundLocalError: variable referenced before assignment錯誤分析與解決
無論python2還是python3中都會出現UnboundLocalError,這個錯誤由“variable xxx referenced before assignment”得知是由於變數還沒有賦值初始化就被引用造成的,如本人在scrapy 中遇到的問題:
yield scrapy.Request(next_url,callback=self.parse)
執行就會報“local variable next_url referenced before assignment”,當然其實我是有初始化的,不過由於程式bug,直接跳過了初始化。
另外值得注意的是,這種情況更多出現的場景是全域性變數和區域性變數傻傻分不清的情況,在python2和python3中的函式使用變數時都沒有預設使用全域性變數,所以如果不將變數宣告為全域性變數的話,就會造成UnboundLocalError錯誤。如:
count=0
def increment():
count=count+1
increment()
由於在increment中沒有說明count是全域性變數,所以預設為區域性變數,然而count作為區域性變數是沒有初始化的,正確的用法如下:
count=0
def increment():
global count
count=count+1
increment()
這樣就不存在“local variable referenced before assignment”(區域性變數被賦值前即被引用),因為不存在區域性變數了,當然如果函式中使用的是區域性變數,第一步也是要初始化,這裡不再贅言
相關文章
- 【Python】UnboundLocalError: local variable 'l' referenced before assignmentPythonError
- Python的UnboundLocalError: local variable 'xxx' referenced before assignmentPythonError
- 問題解決local variable 'xxx' referenced before assignment
- Python UnboundLocalError和NameError錯誤根源解析PythonError
- 錯誤解決:Attempting to use uninitialized value VariableZed
- nginx upload 模組build錯誤解決error: variable ‘result’ set but not used [-Werror=unused-but-set-variable]NginxUIError
- ORA-03113錯誤分析與解決
- ORACLE常見錯誤程式碼的分析與解決(轉)Oracle
- MySQL常見錯誤分析與解決方法總結MySql
- RMAN-06026 錯誤分析與解決
- [Oracle] ORA-03113錯誤分析與解決Oracle
- ora-12523錯誤分析與解決
- mysql與php錯誤解決MySqlPHP
- 案例分析:ora-04031與ora-04030錯誤分析與解決
- zt_RMAN-06026 錯誤分析與解決
- 使用Aihubmix API 服務中遇到錯誤與解決AIAPI
- 解決 Python UnicodeEncodeError 錯誤PythonUnicodeError
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- MySQL 中出現報錯提示: ‘Variable ‘XXX‘ is a read only variable‘的解決方法MySql
- 程式碼會引發 Notice: Undefined variable: undefined_variable 錯誤Undefined
- ORA-00845的錯誤與解決方案
- Ajax中“Sys未定義”錯誤的解決方法
- ORA-00257 錯誤分析及解決方法
- Ocelot錯誤解決
- PHP報錯“Parseerror:syntaxerror,unexpectedT_VARIABLE”的解決辦法PHPError
- 解決python中文編碼錯誤問題Python
- 【python】解決sys:1: DeprecationWarning:錯誤提示Python
- JSF中 Target Unreachable, returned null錯誤的解決JSNull
- 下面EJB中的RealationShip錯誤怎麼解決呢?
- PHP中的Malformed UTF-8 characters錯誤解決PHPORM
- python中sklearn包的錯誤Python
- 資料分析中會常犯哪些錯誤,如何解決?
- 海外常見的http錯誤程式碼原因與解決HTTP
- undefined reference to錯誤的解決方法Undefined
- SAXParseException的錯誤解決之二Exception
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- Python: 安裝 sklearn 包出現錯誤的解決方法Python
- VIM 常用錯誤解決