整理了 Python新手 最容易犯錯的 10個坑!
相比于其他語言,Python 的語法比較簡單易學,但一旦不注意細節(jié),剛入門的新手就會掉進語法錯誤的坑里。今天給大家講幾個平常比較容易掉的“坑”。
1、忘記寫冒號
在?if、elif、else、for、while、class、def?語句后面忘記添加?“ : ”

2、誤用 “=” 做等值比較
“=”是給變量賦值,“==”才是判斷兩個值是否相等:

改正:

3、變量沒有定義

會導致:“NameError: name 'age' is not defined.”
改正:

4、字符串與非字符串連接
錯誤:

非字符串和字符串連接的時候,要將非字符串轉換為字符串類型之后才能連接。
改正:

大家來猜一猜輸出
1 + int(‘1’)?
‘1’ + str(1)
會有怎樣不同的結果呢?

1 + int(‘1’)? 輸出的結果是 2。

?‘1’ + str(1) 的輸出結果是 11。
5、列表的索引位置
有些同學會習慣性地認為列表元素的位置是從 1 開始的:

系統(tǒng)這時就會提示:"list index out of range."
可別忘了,列表元素的位置是從 0 開始的,所以第 3 個元素 “mouse” 的索引位置是 2。
改正:

6、使用自增 “++” 自減 “--”
學過 C 語言或者 Java 的人會很習慣使用i++或者i--,但在 Python 中是沒有自增自減操作符的:

這時可以使用 “+=” 來代替 “++”
改正:

7、 使用關鍵字命名變量
Python 3 中一共?33 個關鍵字:
?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?
自定義變量時,變量名不能和這些關鍵字重復。
8、?索引元素位置時忘記調(diào)用 len 方法
通過索引位置來獲取列表元素時,忘記要先使用 len?函數(shù)來獲取列表的長度:

?改正:

9、函數(shù)中的局部變量賦值前被使用:

第一行定義了一個全局變量 num???函數(shù) myFunction( )也定義了一個同名的局部變量??程序執(zhí)行時是先查找局部變量的??在函數(shù)中找到 num 之后就不到外部查找了??此時就會出現(xiàn) print 的時候變量 num 還沒賦值的錯誤。?
10、縮進問題
和其他語言的語法最大的不同就是,Python 不能用括號來表示語句塊,也不能用開始或結束標志符來表示,而是靠縮進來區(qū)分代碼塊的。
常見的錯誤用法:
(1)第一種

錯誤是第二行的縮進會導致兩個print語句是包含和被包含的關系,但他們兩者是屬于同一個代碼塊的,所以應該寫成:

(2)第二種

錯誤是第三行的縮進,改正的方法有兩種。
一是如果兩個 print 語句是屬于同一代碼塊的,應該改正為:

二是如果第三行的 print 語句是和 if 語句是同一級的,則改正為:

(3)第三種
在Python 3 中,縮進的時候,不能 Tab 和空格混用,每個縮進層次應該選擇只使用 Tab 或者只使用空格。
