淺談Python程序的錯(cuò)誤:變量未定義
Python程序的錯(cuò)誤種類
Python程序的錯(cuò)誤分兩種。一種是語法錯(cuò)誤(syntax error)。這種錯(cuò)誤是語句的書寫不符合Python語言的語法規(guī)定。第二種是邏輯錯(cuò)誤(logic error)。這種錯(cuò)誤是指程序能運(yùn)行,但功能不符合期望,比如“算錯(cuò)了”的情形。
變量未定義的錯(cuò)誤
Python程序中,變量需要先定義后使用。如果沒有這樣做,就會出現(xiàn)變量未定義錯(cuò)誤。這屬于語法錯(cuò)誤。Pycharm中,語法錯(cuò)誤會用紅色的波浪線標(biāo)出來,如圖1所示。
圖1 Pycharm中,語法錯(cuò)誤會用紅色的波浪線標(biāo)出來
Python程序運(yùn)行的錯(cuò)誤信息
Pycharm中,程序運(yùn)行出錯(cuò)了,會在運(yùn)行窗口(即輸入數(shù)據(jù)或輸出結(jié)果的窗口)中報(bào)告錯(cuò)誤信息。強(qiáng)行運(yùn)行圖1的例子,將呈現(xiàn)圖2所示的錯(cuò)誤信息。
圖2 下方的運(yùn)行窗口中報(bào)告了錯(cuò)誤信息
錯(cuò)誤信息中,顯示列出了程序的運(yùn)行軌跡(Traceback)。這里,運(yùn)行軌跡不長,以后會遇到很長的情形。運(yùn)行軌跡只有一條,指出文件2-2-5-varError.py中的第3行(line 3),內(nèi)容是“print(mesage) #mesage的拼寫錯(cuò)了,漏了一個(gè)s”,存在錯(cuò)誤。文件路徑用藍(lán)色字體程序,說明它是一個(gè)超鏈接,點(diǎn)擊它,上面編輯器就列出該行代碼及其附近的代碼。
錯(cuò)誤信息的最后,給出了錯(cuò)誤的結(jié)論,NameError: name ‘mesage’ is not defined. 譯成中文就是,名字錯(cuò)誤:變量名‘mesage’未定義。
要學(xué)會分析Python程序的錯(cuò)誤信息。盡管它是英文的,你讀多了就會抓住要領(lǐng)。利用錯(cuò)誤信息,能更快的定位錯(cuò)誤和糾正錯(cuò)誤。
補(bǔ)充知識:python 報(bào)錯(cuò)“xxx is not defined”
python使用input()來接受字符串時(shí)一直報(bào)錯(cuò)“xxx is not defined”
對于 input() ,它希望能夠讀取一個(gè)合法的 python 表達(dá)式,即你輸入字符串的時(shí)候必須使用引號將它括起來
以上這篇淺談Python程序的錯(cuò)誤:變量未定義就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 基于PHP做個(gè)圖片防盜鏈2. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁3. XML在語音合成中的應(yīng)用4. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解5. .NET中實(shí)現(xiàn)對象數(shù)據(jù)映射示例詳解6. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)7. ASP.NET MVC把數(shù)據(jù)庫中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字8. 如何使用ASP.NET Core 配置文件9. jscript與vbscript 操作XML元素屬性的代碼10. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車輛管理系統(tǒng)
