Python基礎(chǔ)中所出現(xiàn)的異常報錯總結(jié)
今天我們來探索python中大部分的異常報錯
首先異常是什么,異常白話解釋就是不正常,程序里面一般是指程序員輸入的格式不規(guī)范,或者需求的參數(shù)類型不對應(yīng),不全等等。
打個比方很多公司年終送蘋果筆記本,你程序話思維以為是(MAC)電腦筆記本,結(jié)果給你個蘋果+筆記本。。。首先類型不對,數(shù)量也不對。
先來看幾個常見的報錯如下:
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ù),下標是0,1(不懂去看列表基礎(chǔ)),而我要打印下標2位置的值這時候就超過它的標準不在范圍內(nèi)
打個比方坐公交車1米2以下兒童免費,結(jié)果來個1米5上來就不能免費因為你超過規(guī)定高度
來我們繼續(xù)continue:
KeyError 鍵值錯誤 一般出現(xiàn)在字典中原因是:字典a中沒有height這個鍵值,name已經(jīng)打印出來因為a里面已經(jīng)存在
字典是由dict = { key : value }一一對應(yīng)組成,打個比方就理解了dict好比一家公司company由員工key類似標識
value等于員工的屬性(崗位,工資,對應(yīng)個人信息等)這報錯就等于去一個公司找某某某,結(jié)果人家公司說沒這個人一樣。
繼續(xù)繼續(xù)continue:
ImportError 導(dǎo)入錯誤 原因:No module named nothing 沒有模塊名叫nothing的方法
一般這錯誤會發(fā)生在拼寫錯誤或者大小寫,沒有安裝模塊方法,沒有正確引用位置(模塊更新版本可能會改方法名或新增文件夾)
這時候我推薦你去python2.x或者python3.x目錄下\Lib\site-packages文件里面找找看(第三方庫模塊都會在這幾種存放)
繼續(xù)繼續(xù)continue:
IOError 輸入輸出錯誤 原因:No such file or directory : 'test' 沒有在目錄中找到叫test文件
這個容易理解,無中生有。程序說:你坑誰?。?/p>
繼續(xù)繼續(xù)continue:
AttributeError 成員屬性錯誤 原因:一切皆對象 然而字典a對象內(nèi)沒有一個內(nèi)置函數(shù)也就是內(nèi)置方法叫sort排序,大家都知道字典是無序的,list列表才有這方法
當你定義一個變量不知道能用什么內(nèi)置函數(shù)和方法時可以這樣用dir查看以下當前可以用那些方法。
SyntaxError 語法錯誤 :無效語法 a沒有定義所以沒辦法讓它轉(zhuǎn)換為整型 這也是常見錯誤之一
來接著看下一個:
TypeError 類型錯誤:不知道的哈希類型 list列表 (后面為個人理解) 但是元組卻可以放進去有點費解,字典的key一般是單元素或唯一標識,
恰好元組不可變的序列也是唯一標識,所以元組可以放入key中。打比方就如你是世界上唯一的key,沒有和你完全一樣的存在。
以上是經(jīng)常會遇到的問題報錯,大家學(xué)會了就可以自己思考解決方法了這樣也利于大家提高自己的水平。
相關(guān)文章
詳解Django之a(chǎn)dmin組件的使用和源碼剖析
本篇文章主要介紹了詳解Django之a(chǎn)dmin的使用和源碼剖析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05pandas數(shù)據(jù)類型之Series的具體使用
本文主要介紹了pandas數(shù)據(jù)類型之Series的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2022-08-08Dockerfile構(gòu)建一個Python Flask 鏡像
這篇文章主要介紹了Dockerfile構(gòu)建一個Python Flask 鏡像,對正在學(xué)習的你有一定的參考價值,需要的小伙伴可以參考一下2022-01-01tensor.squeeze函數(shù)和tensor.unsqueeze函數(shù)的使用詳解
本文主要介紹了tensor.squeeze函數(shù)和tensor.unsqueeze函數(shù)的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2023-03-03Python 操作 PostgreSQL 數(shù)據(jù)庫示例【連接、增刪改查等】
這篇文章主要介紹了Python 操作 PostgreSQL 數(shù)據(jù)庫的方法,結(jié)合實例形式分析了Python 連接PostgreSQL及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2020-04-04