前言
寫程序時(shí),當(dāng)代碼多了以后是很容易出現(xiàn)錯(cuò)誤的,有些可能是我們粗心造成的,而有些可能是我們考慮不周全導(dǎo)致的雹食,甚至還有一些是你知識盲區(qū)導(dǎo)致的等等畜普。
寫程序出現(xiàn)錯(cuò)誤是很正常不過的事情期丰,盡管無法避免犯錯(cuò),但是出現(xiàn)之后如何快速定位問題吃挑,解決問題钝荡,這中調(diào)試程序的能力是可以通過學(xué)習(xí)提升的。
常見的錯(cuò)誤
在我們的程序出問題時(shí)舶衬,都會有一個(gè)報(bào)錯(cuò)提醒的埠通,弄清楚你的程序是哪種錯(cuò)誤,這個(gè)對于我們解決問題非常關(guān)鍵逛犹。有些一運(yùn)行就報(bào)錯(cuò)端辱,有些運(yùn)行過程中出現(xiàn)報(bào)錯(cuò)梁剔,還有沒保錯(cuò),但是沒有實(shí)現(xiàn)我們要的效果舞蔽。
1.NameError
2.SyntaxError
少了引號
少了括號荣病,一般會在下一行報(bào)錯(cuò)。
將關(guān)鍵詞用來作為變量名
等于號和賦值符號弄混了
3.TypeError
類型錯(cuò)誤渗柿,數(shù)字和字符進(jìn)行運(yùn)算操作个盆,調(diào)用函數(shù)參數(shù)傳遞少了。
4.IndexError
索引錯(cuò)誤朵栖,訪問不存在的數(shù)據(jù)
5.AttributeError
屬性錯(cuò)誤颊亮,使用沒有的屬性。
6.IndentationError
忘記縮進(jìn)陨溅,或者縮進(jìn)方法不統(tǒng)一终惑,空格和Tab鍵混用。
7.KeyError
訪問不存在的鍵值
8.其它錯(cuò)誤
分母不能為零门扇。
打開文件時(shí)狠鸳,找不到文件。
運(yùn)行過程中報(bào)錯(cuò)悯嗓,語法都是沒問題的件舵,因?yàn)槲覀儾磺宄ython遞歸最多可以到多少層,所以當(dāng)超過最大998時(shí)就報(bào)錯(cuò)了脯厨。
語義錯(cuò)誤铅祸,這種是最難發(fā)現(xiàn)的,因?yàn)槌绦驔]有報(bào)錯(cuò)合武,但是效果卻不符合我們的要求临梗,比如下面的例子,如果你不清楚運(yùn)算法則稼跳,很可能結(jié)果就不符合你的要求盟庞,導(dǎo)致很難找出錯(cuò)誤。為了減少類似錯(cuò)誤汤善,可以將復(fù)雜的代碼盡量拆分成簡單的代碼什猖。
還有下面這種語義錯(cuò)誤,循環(huán)變量和外面的變量相同红淡,導(dǎo)致我們的結(jié)果和預(yù)期有出入不狮。
(全文完)
下篇預(yù)告:如何避免程序運(yùn)行過程中出現(xiàn)錯(cuò)誤中斷程序?
長按二維碼在旱,加關(guān)注摇零!葉子陪你玩
歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處桶蝎!
歡迎關(guān)注公眾微信號:葉子陪你玩編程
分享自己的python學(xué)習(xí)之路