首先異常是什么,異常白話解釋就是不正常,程序里面一般是指程序員輸入的格式不規(guī)范,或者需求的參數(shù)類型不對應(yīng),不全等等。
打個比方很多公司年終送蘋果筆記本,你程序話思維以為是(MAC)電腦筆記本,結(jié)果給你個蘋果+筆記本。。。首先類型不對,數(shù)量也不對。
先來看幾個常見的報(bào)錯如下:
NameError 命名錯誤 原因是: name 'a' is not defined 命名a還未定義 簡單來說就是程序不知道a帶表誰 如果a=1 那程序就懂了 a代表1
所以以后碰到這類代碼只用找到錯誤未定義的a給它賦相應(yīng)的值即可解決了。
好了我們繼續(xù)看下一個如下:
IndexError 索引錯誤(也有叫邊界錯誤) 原因: list index out of range 列表的索引已經(jīng)超出其范圍導(dǎo)致
列表a只有2個參數(shù),下標(biāo)是0,1(不懂去看列表基礎(chǔ)),而我要打印下標(biāo)2位置的值這時候就超過它的標(biāo)準(zhǔn)不在范圍內(nèi)
打個比方坐公交車1米2以下兒童免費(fèi),結(jié)果來個1米5上來就不能免費(fèi)因?yàn)槟愠^規(guī)定高度
來我們繼續(xù)continue:
KeyError 鍵值錯誤 一般出現(xiàn)在字典中原因是:字典a中沒有height這個鍵值,name已經(jīng)打印出來因?yàn)閍里面已經(jīng)存在
字典是由dict = { key : value }一一對應(yīng)組成,打個比方就理解了dict好比一家公司company由員工key類似標(biāo)識
value等于員工的屬性(崗位,工資,對應(yīng)個人信息等)這報(bào)錯就等于去一個公司找某某某,結(jié)果人家公司說沒這個人一樣。
繼續(xù)繼續(xù)continue:
ImportError 導(dǎo)入錯誤 原因:No module named nothing 沒有模塊名叫nothing的方法
一般這錯誤會發(fā)生在拼寫錯誤或者大小寫,沒有安裝模塊方法,沒有正確引用位置(模塊更新版本可能會改方法名或新增文件夾)
這時候我推薦你去python2.x或者python3.x目錄下\Lib\site-packages文件里面找找看(第三方庫模塊都會在這幾種存放)