python新手最容易犯的错误_Python新手最容易犯的十大错误
1. 忘記寫冒號(hào)
在 if、elif、else、for、while、class、def 語句后面忘記添加“:”
if spam == 42
print('Hello!')
2. 誤用 “=” 做等值比較
“=”是給變量賦值,“==”才是判斷兩個(gè)值是否相等:
score = 60
if score = 60:
print ('passed')
改正:
score = 60
if score == 60:
print ('passed')
3. 變量沒有定義:
if age >= 18:
print ('adult')
print ('END')
會(huì)導(dǎo)致:NameError: name ‘a(chǎn)ge’ is not defined.
改正:
age = 20
if age >= 18:
print ('adult')
print ('END')
4. 字符串與非字符串連接
錯(cuò)誤:
num = 12
print('I have ' + num+ ' apples.')
非字符串和字符串連接的時(shí)候,要將非字符串轉(zhuǎn)換為字符串類型之后才能連接,改正:
num = 12
print('I have ' + str(num)+ ' apples.')
5. 列表的索引位置
習(xí)慣性地認(rèn)為列表元素的位置是從1開始的:
spam = ['cat', 'dog', 'mouse']
print(spam[3])
列表元素的位置是從0開始的,所以第3個(gè)元素“mouse”的索引位置是2,改正:
spam = ['cat', 'dog', 'mouse']
print(spam[2])
6. 使用自增 “++” 自減 “—”
學(xué)過c語言或者Java的人會(huì)很習(xí)慣使用i++或者i—,但在Python中是沒有自增自減操作符的:
spam = 0
spam++
這時(shí)可以使用 “+=” 來代替 “++”,改正:
spam = 0
spam += 1
7. 使用關(guān)鍵字命名變量
Python 3中一共33個(gè)關(guān)鍵字:
False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield
自定義變量時(shí),變量名不能和這些關(guān)鍵字重復(fù)。
8. 索引元素位置時(shí)忘記調(diào)用 len 方法
通過索引位置來獲取列表元素時(shí),忘記要先使用 len 函數(shù)來獲取列表的長度:
fam = ['dad', 'mom', 'son']
for i in range(fam):
print(fam[i])
改正:
fam = ['dad', 'mom', 'son']
for i in range(len(fam)):
print(fam[i])
9. 函數(shù)中的局部變量賦值前被使用
num = 42
def myFunction():
print(num)
num = 100
myFunction()
第一行定義了一個(gè)全局變量num,同時(shí)函數(shù)myFunction( )也定義了一個(gè)同名的局部變量,但程序執(zhí)行時(shí)是先查找局部變量的,所以在函數(shù)中找到num之后就不到外部查找了,此時(shí)就會(huì)出現(xiàn)print的時(shí)候變量num還沒賦值的錯(cuò)誤。
10. 縮進(jìn)問題
和其他語言的語法最大的不同就是,Python不能用括號(hào)來表示語句塊,也不能用開始或結(jié)束標(biāo)志符來表示,而是靠縮進(jìn)來區(qū)分代碼塊的。
常見的錯(cuò)誤用法:
(1)
print('Hello')
print('World!')
錯(cuò)誤是第二行的縮進(jìn)會(huì)導(dǎo)致兩個(gè)print語句是包含和被包含的關(guān)系,但他們兩者是屬于同一個(gè)代碼塊的,所以應(yīng)該寫成;
print('Hello')
print('World!')
(2)
if spam == 42:
print('Hello')
print('World!')
錯(cuò)誤是第三行的縮進(jìn),改正的方法有兩種,一是如果兩個(gè)print語句是屬于同一代碼塊的,應(yīng)該改正為
if spam == 42:
print('Hello')
print('World!')
二是如果第三行的print語句是和if語句是同一級(jí)的,則改正為
if spam == 42:
print('Hello')
print('World!')
(3)在Python 3中,縮進(jìn)的時(shí)候,不能Tab和空格混用,每個(gè)縮進(jìn)層次應(yīng)該選擇只使用Tab或者只使用空格。
有需要Python學(xué)習(xí)資料的小伙伴嗎?小編整理【一套Python資料、源碼和PDF】,感興趣者可以加學(xué)習(xí)群:548377875,反正閑著也是閑著呢,不如學(xué)點(diǎn)東西啦~~
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python新手最容易犯的错误_Python新手最容易犯的十大错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt show widget_Qt中sh
- 下一篇: python格式字符串的参数不足_格式字