python常見的報錯提示
轉(zhuǎn)發(fā)自昵稱:aiaiduo?來源:https://www.cnblogs.com/aiaiduo/p/7966626.html
在運行或編寫一個程序時常會遇到錯誤異常,這時 python會給你一個錯誤提示類名,告訴出現(xiàn)了什么樣的問題( Python是面向?qū)ο笳Z言,所以程序拋出的異常也是類)。能很好的理解這些錯誤提示類名所代表的意思,可以幫助你在最快的時間內(nèi)找到問題所在,從而解決程序上的問題是非常有幫助的。
搜集了一些 python最重要的內(nèi)建異常類名,并做了簡單的介紹:
AttributeError:屬性錯誤,特性引用和賦值失敗時會引發(fā)屬性錯誤
NameError:試圖訪問的變量名不存在
SyntaxError:語法錯誤,代碼形式錯誤
Exception:所有異常的基類,因為所有 python異常類都是基類 Exception的其中一員,異常都是從基類 Exception繼承的,并且都在 exceptions模塊中定義。
IOError:一般常見于打開不存在文件時會引發(fā) IOError錯誤,也可以解理為輸出輸入錯誤
KeyError:使用了映射中不存在的關(guān)鍵字(鍵)時引發(fā)的關(guān)鍵字錯誤
IndexError:索引錯誤,使用的索引不存在,常索引超出序列范圍,什么是索引
TypeError:類型錯誤,內(nèi)建操作或是函數(shù)應(yīng)于在了錯誤類型的對象時會引發(fā)類型錯誤
ZeroDivisonError:除數(shù)為 0,在用除法操作時,第二個參數(shù)為 0時引發(fā)了該錯誤
ValueError:值錯誤,傳給對象的參數(shù)類型不正確,像是給 int()函數(shù)傳入了字符串?dāng)?shù)據(jù)類型的參數(shù)。
1)忘記在 if , elif , ? else , for , while , class ? , def 聲明末尾添加:(導(dǎo)致 ?“ SyntaxError ?: invalid syntax”)
該錯誤將發(fā)生在類似如下代碼中:
if spam == 42
??? print('Hello!')
2)使用 =而不是 ==(導(dǎo)致“ SyntaxError:invalidsyntax ”)
=是賦值操作符而 ==是等于比較操作。該錯誤發(fā)生在如下代碼中:
if spam = 42:
??? print('Hello!')
3)錯誤的使用縮進(jìn)量。(導(dǎo)致“ IndentationError : unexpected indent”、“ IndentationError : unindent does not match any outer indetation level”以及“ IndentationError : expected an indented block”)
記住縮進(jìn)增加只用在以:結(jié)束的語句之后,而之后必須恢復(fù)到之前的縮進(jìn)格式。該錯誤發(fā)生在如下代碼中:
print('Hello!')
print('Howdy!')
或者:
if spam == 42:
print('Hello!')
?print('Howdy!')
或者:
if spam == 42:
print('Hello!')
4)嘗試修改 string的值(導(dǎo)致“ TypeError:'str'objectdoesnotsupportitemassignment ”)
string是一種不可變的數(shù)據(jù)類型,該錯誤發(fā)生在如下代碼中:
spam = 'I have apet cat.'
spam[13] = 'r'
print(spam)
而你實際想要這樣做:
spam = 'I have apet cat.'
spam = spam[:13] +'r' + spam[14:]
print(spam)
5)在字符串首尾忘記加引號(導(dǎo)致“ SyntaxError:EOLwhilescanningstringliteral ”)
該錯誤發(fā)生在如下代碼中:
print(Hello!')
或者 :
print('Hello!)
或者 :
myName = 'Al'
print('My name is '+ myName + . How are you?')
6)變量或者函數(shù)名拼寫錯誤(導(dǎo)致“ NameError:name'fooba'isnotdefined ”)
該錯誤發(fā)生在如下代碼中:
foobar = 'Al'
print('My name is '+ fooba)
或者 :
spam = ruond(4.2)
或者 :
spam = Round(4.2)
7)嘗試使用 Python關(guān)鍵字作為變量名(導(dǎo)致“ SyntaxError : invalid syntax”)
Python關(guān)鍵不能用作變量名,該錯誤發(fā)生在如下代碼中:
class = 'algebra'
Python3的關(guān)鍵字有: and, as, assert, break, class, continue, def, del, elif,else, except, False, finally, for, from, global, if, import, in, is, lambda,None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
