【小心】快停止這6種讓Python程式變慢的壞習慣!

老男孩IT教育機構發表於2022-06-06

 眾所周知,Python是一門非常流行的開發語言,它語言簡潔且容易學習,一個功能可能就有多種實現方式,那你知道有哪些習慣會使Python程式的執行速度變慢嗎?請看下文:

  1、不要匯入根模組

  在使用Python時,我們無法避免的一件事就是匯入模組,無論是內建模組還是第三方模組,有時,我們可能只需要該模組中的一個或幾個函式或物件,在這種情況下,我們該嘗試只匯入我們需要的函式或物件,而不是匯入根模組。

  2、避免使用點/點鏈

  使用dot非常直觀,在Python中訪問物件的屬性或函式,大多數時候沒問題,但如果我們可以避免使用點甚至連結點,效能實際上會更好。

  3、不要使用+連線字串

  字串在Python中是不可變的,因此,當我們使用+將多個字串連線成一個長字串時,每個子字串都是單獨操作的。

  對於每個子字串,它需要請求一個記憶體地址,然後將它與該記憶體地址中的原始字串連線起來,這成為一種開銷。

  但當我們使用join函式時,該函式事先知道所有子字串,且記憶體地址分配的長度適合最終連線的字串,因此沒有為每個子串分配記憶體的開銷。

  4、 不要使用臨時變數進行價值交換

  許多演算法需要兩個變數的值交換,在大多數其他程式語言中,這通常是透過引入一個臨時變數來完成的。

  但是在Python中,我們不必使用temp變數,Python具有內建語法來實現此值交換。

  5、使用if-condition短路

  “短路”評估存在於許多程式語言中,Python亦是如此,基本上,它指的是某些布林運算子的行為,其中僅當第一個引數不足以確定整個表示式的值時才執行或評估第二個引數。

  6、如果可以使用for迴圈就不要使用while迴圈

  Python使用了很多C來提高效能,即CPython,在迴圈語句方面,Python中的For-Loop具有相對較少的步驟,其中更多的步驟作為C程式碼執行,而不是While-Loop。

  因此,當我們可以在Python中使用For-Loop時,我們不應該使用while迴圈,這不僅是因為For-Loop在Python中更優雅,而且效能更好。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2898995/,如需轉載,請註明出處,否則將追究法律責任。

相關文章