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