10個(gè)中文成語(yǔ),10種Python新手錯(cuò)誤
?△點(diǎn)擊上方“Python貓”關(guān)注 ,回復(fù)“1”領(lǐng)取電子書(shū)

一、畫(huà)蛇添足——多余的分號(hào)
Python語(yǔ)言與大多數(shù)編程語(yǔ)言不相同,它的語(yǔ)句后面不需要加分號(hào)結(jié)尾。有些 Python 新手具有編寫其它語(yǔ)言的豐富經(jīng)驗(yàn),一時(shí)還適應(yīng)不過(guò)來(lái),經(jīng)常習(xí)慣性的加上“分號(hào)”:
a?=?5??#?正確
a?=?5;?#?錯(cuò)誤
二、附贅懸疣——無(wú)用的小括號(hào)
在Python中,if/witch語(yǔ)句的表達(dá)式部分并不需要加小括號(hào)(雖然加上程序仍可運(yùn)行),與很多編程語(yǔ)言不同。
if?a?>?b:???#?正確
????print(a)
if?(a?>?b):?#?錯(cuò)誤
????print(a,?b)
三、張冠李戴——賦值運(yùn)算符判斷相等
判斷兩個(gè)表達(dá)式/變量/常量/引用相等,應(yīng)使用關(guān)系運(yùn)算符“==”,而不是賦值運(yùn)算符“=”。
if?a?==?b:???#?正確
????print("相等!")
if?(a?=?b):??#?錯(cuò)誤
????print("相等!")
四、強(qiáng)人所難—— 字符串與其他數(shù)據(jù)類型做“+”運(yùn)算
字符串與其它數(shù)據(jù)類型的數(shù)據(jù)相加,這在有一些編程語(yǔ)言中支持,從而達(dá)到字符串拼接效果。但Python并不支持。
print('There?is'?+?str(num)?+?'apples.')?#?正確
print('There?is'?+?num?+?'apples.')??????#?錯(cuò)誤
五、轉(zhuǎn)喉觸諱——使用關(guān)鍵字作為變量名
Python3一共有33個(gè)關(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)錯(cuò)誤
語(yǔ)句的縮進(jìn)在Python語(yǔ)言中是非常重要的,縮進(jìn)區(qū)分了語(yǔ)句的層次,同一層次的語(yǔ)句需要同一縮進(jìn)寬度。
for?i?in?range(10):????
????print("Good?Morning!!")???#?循環(huán)內(nèi)的語(yǔ)句????
????print("Good?Afternoon!!")?#?循環(huán)內(nèi)的語(yǔ)句
print("Good?Night!!")????????#?循環(huán)外的語(yǔ)句
七、強(qiáng)加于人——嘗試修改字符串元素
Python當(dāng)中string類型數(shù)據(jù)是不可修改的。
s?=?"hello?world!"
s[0]?=?'H'??#?錯(cuò)誤
八、爾汝之交——錯(cuò)把兩個(gè)對(duì)象當(dāng)作一個(gè)
一個(gè)類創(chuàng)建的兩個(gè)對(duì)象,分別有自己的內(nèi)存空間,存儲(chǔ)的數(shù)據(jù)互不影響。
九、錯(cuò)勘賢愚——變量或函數(shù)名抄寫錯(cuò)誤
對(duì)于新手而言,抄寫變量或函數(shù)名時(shí)出現(xiàn)抄寫錯(cuò)誤是家常便飯。
十、不自量力——list索引越界
l?=?[0,?1,?2,?3,?4,?5]
l 有 6 個(gè)元素,通過(guò) l[0] -- l[5] 可正常訪問(wèn),但是不存在 l[6],訪問(wèn)則報(bào)錯(cuò)。


近期熱門文章推薦:

