Python 運(yùn)行時(shí)遇到的這些錯(cuò)誤
對(duì)于剛?cè)腴T的Python新手,在學(xué)習(xí)過程中運(yùn)行代碼是或多或少會(huì)遇到一些錯(cuò)誤,剛開始可能看起來比較費(fèi)勁。隨著代碼量的積累,熟能生巧當(dāng)遇到一些運(yùn)行時(shí)錯(cuò)誤時(shí)能夠很快的定位問題原題。下面整理了在Python運(yùn)行中常見的錯(cuò)誤,希望能夠幫助到大家。
1、忘記在if,for,def,elif,else,class等聲明末尾加 :
會(huì)導(dǎo)致“SyntaxError :invalid syntax”如下:
if spam == 42
print( Hello! )
2、使用= 而不是 ==。也會(huì)導(dǎo)致“SyntaxError: invalid syntax”。
= 是賦值操作符而 == 是等于比較操作。
該錯(cuò)誤發(fā)生在如下代碼中:
if spam = 42:
print( Hello! )
3、錯(cuò)誤的使用縮進(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)格式。
該錯(cuò)誤發(fā)生在如下代碼中:
print( Hello! )
print( Howdy! )
或者:
if spam == 42:
print( Hello! )
print( Howdy! )
4、在 for 循環(huán)語句中忘記調(diào)用 len()
導(dǎo)致“TypeError: list object cannot be interpreted as an integer”
通常你想要通過索引來迭代一個(gè)list或者string的元素,這需要調(diào)用 range() 函數(shù)。要記得返回len 值而不是返回這個(gè)列表。
該錯(cuò)誤發(fā)生在如下代碼中:
spam = [ cat , dog , mouse ]
for i in range(spam):
print(spam[i])
5、嘗試修改string的值
導(dǎo)致“TypeError: str object does not support item assignment”
string是一種不可變的數(shù)據(jù)類型,該錯(cuò)誤發(fā)生在如下代碼中:
spam = I have a pet cat.
spam[13] = r
print(spam)
而正確做法是:
spam = I have a pet cat.
spam = spam[:13] + r + spam[14:]
print(spam)
6、嘗試連接非字符串值與字符串
導(dǎo)致 “TypeError: Can t convert int object to str implicitly”
該錯(cuò)誤發(fā)生在如下代碼中:
numEggs = 12
print( I have + numEggs + eggs. )
而正確做法是:
numEggs = 12
print( I have + str(numEggs) + eggs. )
numEggs = 12
print( I have %s eggs. % (numEggs))
7、在字符串首尾忘記加引號(hào)
導(dǎo)致“SyntaxError: EOL while scanning string literal”
該錯(cuò)誤發(fā)生在如下代碼中:
print(Hello! )
print( Hello!)
myName = Al
print( My name is + myName + . How are you? )
好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!
版權(quán)聲明:轉(zhuǎn)載文章來自公開網(wǎng)絡(luò),版權(quán)歸作者本人所有,推送文章除非無法確認(rèn),我們都會(huì)注明作者和來源。如果出處有誤或侵犯到原作者權(quán)益,請(qǐng)與我們聯(lián)系刪除或授權(quán)事宜。