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