本文內(nèi)容整理自網(wǎng)絡(luò),未找到原始出處
如有侵權(quán),請(qǐng)聯(lián)系刪除
整理:Python貓(python_cat)
大家好,歡迎來(lái)到 Crossin的編程教室 !
在剛學(xué)習(xí)Python的時(shí)候,難免會(huì)犯一些新手錯(cuò)誤。今天我們用10個(gè)成語(yǔ),來(lái)總結(jié)10個(gè)新手經(jīng)常會(huì)遇到的問(wèn)題,幫助大家記憶,以便在寫(xiě)代碼的時(shí)候少踩坑。
Python語(yǔ)言與大多數(shù)編程語(yǔ)言不相同,它的語(yǔ)句后面不需要加分號(hào)結(jié)尾。有些 Python 新手具有編寫(xiě)其它語(yǔ)言的豐富經(jīng)驗(yàn),一時(shí)還適應(yīng)不過(guò)來(lái),經(jīng)常習(xí)慣性的加上“分號(hào)”:
a = 5 # 正確
a = 5; # 錯(cuò)誤
在Python中,if/witch語(yǔ)句的表達(dá)式部分并不需要加小括號(hào)(雖然加上程序仍可運(yùn)行),與很多編程語(yǔ)言不同。
if a > b: # 正確
print(a)
if (a > b): # 錯(cuò)誤
print(a, b)
判斷兩個(gè)表達(dá)式/變量/常量/引用相等,應(yīng)使用關(guān)系運(yùn)算符“==”,而不是賦值運(yùn)算符“=”。
if a == b: # 正確
print('相等!')
if (a = b): # 錯(cuò)誤
print('相等!')
字符串與其它數(shù)據(jù)類(lèi)型的數(shù)據(jù)相加,這在有一些編程語(yǔ)言中支持,從而達(dá)到字符串拼接效果。但Python并不支持。
print('There is' str(num) 'apples.') # 正確
print('There is' num 'apples.') # 錯(cuò)誤
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ù)命名、類(lèi)命名均應(yīng)避免使用關(guān)鍵字。
語(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ǔ)句
Python當(dāng)中string類(lèi)型數(shù)據(jù)是不可修改的。
s = 'hello world!'
s[0] = 'H' # 錯(cuò)誤
一個(gè)類(lèi)創(chuàng)建的兩個(gè)對(duì)象,分別有自己的內(nèi)存空間,存儲(chǔ)的數(shù)據(jù)互不影響。
對(duì)于新手而言,抄寫(xiě)變量或函數(shù)名時(shí)出現(xiàn)抄寫(xiě)錯(cuò)誤是家常便飯。
l = [0, 1, 2, 3, 4, 5]
l 有 6 個(gè)元素,通過(guò) l[0] -- l[5] 可正常訪問(wèn),但是不存在 l[6],訪問(wèn)則報(bào)錯(cuò)。
以上就是10個(gè)python新手常見(jiàn)錯(cuò)誤,希望大家在寫(xiě)代碼時(shí)都能避免。
聯(lián)系客服