用通俗成語解釋 Python 新手最容易犯的錯誤
↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能
后臺回復(fù)【大禮包】送你Python自學(xué)大禮包 來自網(wǎng)絡(luò),侵刪
一、畫蛇添足:多余的分號
Python語言與大多數(shù)編程語言不相同,它的語句后面不需要加分號結(jié)尾。有些 Python 新手具有編寫其它語言的豐富經(jīng)驗(yàn),一時還適應(yīng)不過來,經(jīng)常習(xí)慣性的加上“分號”:
a?=?5??#?正確
a?=?5;?#?錯誤
二、附贅懸疣:無用的小括號
在Python中,if/witch語句的表達(dá)式部分并不需要加小括號(雖然加上程序仍可運(yùn)行),與很多編程語言不同。
if?a?>?b:???#?正確
????print(a)
if?(a?>?b):?#?錯誤
????print(a,?b)
三、張冠李戴:賦值運(yùn)算符判斷相等
判斷兩個表達(dá)式/變量/常量/引用相等,應(yīng)使用關(guān)系運(yùn)算符“==”,而不是賦值運(yùn)算符“=”。
if?a?==?b:???#?正確
????print("相等!")
if?(a?=?b):??#?錯誤
????print("相等!")
四、強(qiáng)人所難:字符串與其他數(shù)據(jù)類型做“+”運(yùn)算
字符串與其它數(shù)據(jù)類型的數(shù)據(jù)相加,這在有一些編程語言中支持,從而達(dá)到字符串拼接效果。但Python并不支持。
print('There?is'?+?str(num)?+?'apples.')?#?正確
print('There?is'?+?num?+?'apples.')??????#?錯誤
五、轉(zhuǎn)喉觸諱:使用關(guān)鍵字作為變量名
Python3一共有33個關(guān)鍵字:
and,as,assert,break,class,continue,def,del,elif,
else,except,finally,False,for,from,global,if,
import,in,is,lambda,None,nonlocal,not,or,pass,
raise,return,True,try,while,with,yield
變量命名、函數(shù)命名、類命名均應(yīng)避免使用關(guān)鍵字。
六、打破常規(guī):縮進(jìn)錯誤
語句的縮進(jìn)在Python語言中是非常重要的,縮進(jìn)區(qū)分了語句的層次,同一層次的語句需要同一縮進(jìn)寬度。
for?i?in?range(10):????
????print("Good?Morning!!")???#?循環(huán)內(nèi)的語句????
????print("Good?Afternoon!!")?#?循環(huán)內(nèi)的語句
print("Good?Night!!")????????#?循環(huán)外的語句
七、強(qiáng)加于人:嘗試修改字符串元素
Python當(dāng)中string類型數(shù)據(jù)是不可修改的。
s?=?"hello?world!"
s[0]?=?'H'??#?錯誤
八、爾汝之交:錯把兩個對象當(dāng)作一個
一個類創(chuàng)建的兩個對象,分別有自己的內(nèi)存空間,存儲的數(shù)據(jù)互不影響。
九、錯勘賢愚:變量或函數(shù)名抄寫錯誤
對于新手而言,抄寫變量或函數(shù)名時出現(xiàn)抄寫錯誤是家常便飯。
十、不自量力:list索引越界
l?=?[0,?1,?2,?3,?4,?5]
l 有 6 個元素,通過 l[0] -- l[5] 可正常訪問,但是不存在 l[6],訪問則報錯。
免責(zé)聲明:本文內(nèi)容來源于網(wǎng)絡(luò),文章版權(quán)歸原作者所有,意在傳播相關(guān)技術(shù)知識&行業(yè)趨勢,供大家學(xué)習(xí)交流,若涉及作品版權(quán)問題,請聯(lián)系刪除或授權(quán)事宜。
見面禮
掃碼加我微信備注「三劍客」送你上圖三本Python入門電子書?
推薦閱讀





