我們?cè)趯?strong>python代碼時(shí),有時(shí)候會(huì)遇到莫名的錯(cuò)誤,而且查閱了很多資料也不明白是怎么回事,尤其是對(duì)python初學(xué)者而言,會(huì)很影響學(xué)習(xí)的細(xì)心,下面總結(jié)python中常見的錯(cuò)誤,希望幫助到大家。
python常見的錯(cuò)誤有
1.NameError變量名錯(cuò)誤
2.IndentationError代碼縮進(jìn)錯(cuò)誤
3.AttributeError對(duì)象屬性錯(cuò)誤
4.TypeError類型錯(cuò)誤
5.IOError輸入輸出錯(cuò)誤
6.KeyError字典鍵值錯(cuò)誤
詳細(xì)講解
1.NameError變量名錯(cuò)誤
報(bào)錯(cuò):
>>>printa
Traceback(mostrecentcalllast):
File"",line1,in
NameError:name'a'isnotdefined
解決方案:
先要給a賦值。才能使用它。在實(shí)際編寫代碼過程中,報(bào)NameError錯(cuò)誤時(shí),查看該變量是否賦值,或者是否有大小寫不一致錯(cuò)誤,或者說不小心將變量名寫錯(cuò)了。
注:在Python中,無需顯示變量聲明語句,變量在第一次被賦值時(shí)自動(dòng)聲明。
>>>a=1
>>>printa
1
2.IndentationError代碼縮進(jìn)錯(cuò)誤
代碼
a=1b=2
ifa
printa
報(bào)錯(cuò):
IndentationError:expectedanindentedblock
原因:
縮進(jìn)有誤,python的縮進(jìn)非常嚴(yán)格,行首多個(gè)空格,少個(gè)空格都會(huì)報(bào)錯(cuò)。這是新手常犯的一個(gè)錯(cuò)誤,由于不熟悉python編碼規(guī)則。像def,class,if,for,while等代碼塊都需要縮進(jìn)。
縮進(jìn)為四個(gè)空格寬度,需要說明一點(diǎn),不同的文本編輯器中制表符(tab鍵)代表的空格寬度不一,如果代碼需要跨平臺(tái)或跨編輯器讀寫,建議不要使用制表符。
解決方案
a=1b=2
ifa
printa
3.AttributeError對(duì)象屬性錯(cuò)誤
報(bào)錯(cuò):
>>>importsys
>>>sys.Path
Traceback(mostrecentcalllast):
File"",line1,in
AttributeError:'module'objecthasnoattribute'Path'
原因:
sys模塊沒有Path屬性。
python對(duì)大小寫敏感,Path和path代表不同的變量。將Path改為path即可。
>>>sys.path
['','/usr/lib/python2.6/site-packages']
以上內(nèi)容為大家介紹了python培訓(xùn)之Python錯(cuò)誤有什么,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。