首先異常是什麼,異常白話解釋就是不正常,程序裡面一般是指程序員輸入的格式不規范,或者需求的參數類型不對應,不全等等。
打個比方很多公司年終送蘋果筆記本,你程序話思維以為是(MAC)電腦筆記本,結果給你個蘋果+筆記本。。。首先類型不對,數量也不對。
先來看幾個常見的報錯如下:
NameError 命名錯誤 原因是: name 'a' is not defined 命名a還未定義 簡單來說就是程序不知道a帶表誰 如果a=1 那程序就懂了 a代表1
所以以後碰到這類代碼只用找到錯誤未定義的a給它賦相應的值即可解決了。
好了我們繼續看下一個如下:
IndexError 索引錯誤(也有叫邊界錯誤) 原因: list index out of range 列表的索引已經超出其范圍導致
列表a只有2個參數,下標是0,1(不懂去看列表基礎),而我要打印下標2位置的值這時候就超過它的標准不在范圍內
打個比方坐公交車1米2以下兒童免費,結果來個1米5上來就不能免費因為你超過規定高度
來我們繼續continue:
KeyError 鍵值錯誤 一般出現在字典中原因是:字典a中沒有height這個鍵值,name已經打印出來因為a裡面已經存在
字典是由dict = { key : value }一一對應組成,打個比方就理解了dict好比一家公司company由員工key類似標識
value等於員工的屬性(崗位,工資,對應個人信息等)這報錯就等於去一個公司找某某某,結果人家公司說沒這個人一樣。
繼續繼續continue:
ImportError 導入錯誤 原因:No module named nothing 沒有模塊名叫nothing的方法
一般這錯誤會發生在拼寫錯誤或者大小寫,沒有安裝模塊方法,沒有正確引用位置(模塊更新版本可能會改方法名或新增文件夾)
這時候我推薦你去python2.x或者python3.x目錄下\Lib\site-packages文件裡面找找看(第三方庫模塊都會在這幾種存放)
繼續繼續continue:
IOError 輸入輸出錯誤 原因:No such file or directory : 'test' 沒有在目錄中找到叫test文件
這個容易理解,無中生有。程序說:你坑誰啊?
繼續繼續continue:
AttributeError 成員屬性錯誤 原因:一切皆對象 然而字典a對象內沒有一個內置函數也就是內置方法叫sort排序,大家都知道字典是無序的,list列表才有這方法
當你定義一個變量不知道能用什麼內置函數和方法時可以這樣用dir查看以下當前可以用那些方法。
SyntaxError 語法錯誤 :無效語法 a沒有定義所以沒辦法讓它轉換為整型 這也是常見錯誤之一
來接著看下一個:
TypeError 類型錯誤:不知道的哈希類型 list列表 (後面為個人理解) 但是元組卻可以放進去有點費解,字典的key一般是單元素或唯一標識,
恰好元組不可變的序列也是唯一標識,所以元組可以放入key中。打比方就如你是世界上唯一的key,沒有和你完全一樣的存在。
以上是經常會遇到的問題報錯,大家學會了就可以自己思考解決方法了這樣也利於大家提高自己的水平。
Ubuntu 14.04安裝Python 3.3.5 http://www.linuxidc.com/Linux/2014-05/101481.htm
CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
在CentOS 6.5上安裝Python2.7 http://www.linuxidc.com/Linux/2016-10/136206.htm