天天看點

牛了! Python最容易入的10個坑!你們知道多少?

    相比于其他語言,Python 的文法比較簡單易學,但一旦不注意細節,剛入門的新手就會掉進文法錯誤的坑裡。今天給大家講幾個平常比較容易掉的“坑”。

1、忘記寫冒号

在 if、elif、else、for、while、class、def 語句後面忘記添加 “ : ”

牛了! Python最容易入的10個坑!你們知道多少?

2、誤用 “=” 做等值比較

“=”是給變量指派,“==”才是判斷兩個值是否相等:

牛了! Python最容易入的10個坑!你們知道多少?

改正:

牛了! Python最容易入的10個坑!你們知道多少?

3、變量沒有定義

牛了! Python最容易入的10個坑!你們知道多少?

會導緻:“NameError: name ‘age’ is not defined.”

改正:

牛了! Python最容易入的10個坑!你們知道多少?

4、字元串與非字元串連接配接

錯誤:

牛了! Python最容易入的10個坑!你們知道多少?

非字元串和字元串連接配接的時候,要将非字元串轉換為字元串類型之後才能連接配接。

改正:

牛了! Python最容易入的10個坑!你們知道多少?

大家來猜一猜輸出

1 + int(‘1’)

‘1’ + str(1)

會有怎樣不同的結果呢?

牛了! Python最容易入的10個坑!你們知道多少?

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

牛了! Python最容易入的10個坑!你們知道多少?

‘1’ + str(1) 的輸出結果是 11。

5、清單的索引位置

有些同學會習慣性地認為清單元素的位置是從 1 開始的:

牛了! Python最容易入的10個坑!你們知道多少?

系統這時就會提示:“list index out of range.”

可别忘了,清單元素的位置是從 0 開始的,是以第 3 個元素 “mouse” 的索引位置是 2。

改正:

牛了! Python最容易入的10個坑!你們知道多少?

6、使用自增 “++” 自減 “–”

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

牛了! Python最容易入的10個坑!你們知道多少?

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

改正:

牛了! Python最容易入的10個坑!你們知道多少?

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 函數來擷取清單的長度:

牛了! Python最容易入的10個坑!你們知道多少?

改正:

牛了! Python最容易入的10個坑!你們知道多少?

9、函數中的局部變量指派前被使用:

牛了! Python最容易入的10個坑!你們知道多少?

    第一行定義了一個全局變量 num ➡️函數 myFunction( )也定義了一個同名的局部變量➡️程式執行時是先查找局部變量的➡️在函數中找到 num 之後就不到外部查找了➡️此時就會出現 print 的時候變量 num 還沒指派的錯誤。

10、縮進問題

    和其他語言的文法最大的不同就是,Python 不能用括号來表示語句塊,也不能用開始或結束标志符來表示,而是靠縮進來區分代碼塊的。

常見的錯誤用法:

(1)第一種

牛了! Python最容易入的10個坑!你們知道多少?

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

牛了! Python最容易入的10個坑!你們知道多少?

(2)第二種

牛了! Python最容易入的10個坑!你們知道多少?

錯誤是第三行的縮進,改正的方法有兩種。

一是如果兩個 print 語句是屬于同一代碼塊的,應該改正為:

牛了! Python最容易入的10個坑!你們知道多少?

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

牛了! Python最容易入的10個坑!你們知道多少?

(3)第三種

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

你遇到Python最容易入的坑是什麼,留言區侃侃!

牛了! Python最容易入的10個坑!你們知道多少?

    如果對軟體測試、接口測試、自動化測試、持續內建、面試經驗。感興趣可以進到806549072,群内會有不定期的分享測試資料。還會有技術大牛,業内同行一起交流技術