相比于其他語言,Python 的文法比較簡單易學,但一旦不注意細節,剛入門的新手就會掉進文法錯誤的坑裡。今天給大家講幾個平常比較容易掉的“坑”。
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 開始的:
系統這時就會提示:“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、 索引元素位置時忘記調用 len 方法
通過索引位置來擷取清單元素時,忘記要先使用 len 函數來擷取清單的長度:
改正:
9、函數中的局部變量指派前被使用:
第一行定義了一個全局變量 num ➡️函數 myFunction( )也定義了一個同名的局部變量➡️程式執行時是先查找局部變量的➡️在函數中找到 num 之後就不到外部查找了➡️此時就會出現 print 的時候變量 num 還沒指派的錯誤。
10、縮進問題
和其他語言的文法最大的不同就是,Python 不能用括号來表示語句塊,也不能用開始或結束标志符來表示,而是靠縮進來區分代碼塊的。
常見的錯誤用法:
(1)第一種
錯誤是第二行的縮進會導緻兩個print語句是包含和被包含的關系,但他們兩者是屬于同一個代碼塊的,是以應該寫成:
(2)第二種
錯誤是第三行的縮進,改正的方法有兩種。
一是如果兩個 print 語句是屬于同一代碼塊的,應該改正為:
二是如果第三行的 print 語句是和 if 語句是同一級的,則改正為:
(3)第三種
在Python 3 中,縮進的時候,不能 Tab 和空格混用,每個縮進層次應該選擇隻使用 Tab 或者隻使用空格。
你遇到Python最容易入的坑是什麼,留言區侃侃!
如果對軟體測試、接口測試、自動化測試、持續內建、面試經驗。感興趣可以進到806549072,群内會有不定期的分享測試資料。還會有技術大牛,業内同行一起交流技術