提高Python程式效能的七個習慣

2021-08-22 16:32:12 字數 1286 閱讀 4974

python在效能方面不卓越,但是使用一些小技巧,可以提高python程式的效能,避免不必要的資源浪費。

1. 使用區域性變數

盡可能使用區域性變數替代全域性變數,可以是程式易於維護並且有助於提高效能節約成本。

在模組命名空間中將變數替換為區域性變數,例如ls = os.linesep。一方面,可以提高程式效能,因為區域性變數的搜素速度更快;另一方面,用短標識替換長模組變數,提高可閱讀性。

2. 減少函式呼叫的數量

當需要確定物件型別時,使用isinstance()方法最好,id()次之,type()最差。

為了避免重複計算,不要把重複操作作為引數放入迴圈中。

使用模組x中的函式或者物件y時,應該用from x import y,而不是import x; x.y。因此,當使用y時,可以減少一次查詢(解析器不必先找到模組x,然後在模組x的字典中查詢y)。

3. 使用對映來替換條件搜尋

對映(例如dict,等等)的搜尋速度比條件語句(例如if,等等)快很多。在python中沒有select-case語句。

4. 直接迭代序列元素

對於序列(str, list, tuple, 等等),直接迭代序列元素比迭代元素索引要快。

5. 用生成器表示式替換列表解析

列表解析生成整個列表,會對大量資料的迭代產生負面作用。

而生成器表示式不會。生成器表示式不會建立乙個列表,相反返回乙個生成器,在需要的時候生成具體值(延遲的),這種方式對記憶體友好。

6. 先編譯後呼叫

當使用函式eval()和exec()來執行**時,最好呼叫**物件(通過compile()函式預先編譯成位元組碼)而不是直接呼叫str,這樣可以避免重複編譯過程多次和提高程式的效能。

正規表示式模式匹配是類似的。 在執行比較和匹配之前,最好將正規表示式模式編譯為正規表示式物件(通過re.complie()函式)。

7. 模組程式設計的習慣

模組中最高端別的python語句(無縮排**)將在匯入模組時執行(是否真的需要執行)。 因此,您應該嘗試將模組的所有功能**放入函式中(與主程式相關的功能**也可以放入main()函式,主程式本身呼叫main()函式)。

測試**可以寫在模組的main()函式中。 將在主程式中檢測__name__的值。 如果是"__main__"(表示模組是直接執行的),則呼叫main()函式進行測試; 如果它是模組的名稱(表示模組被呼叫),則不會執行測試。

翻譯 七個習慣提高Python程式的效能

掌握一些技巧,可盡量提高python程式效能,也可以避免不必要的資源浪費。1 使用區域性變數 盡量使用區域性變數代替全域性變數 便於維護,提高效能並節省記憶體。使用區域性變數替換模組名字空間中的變數,例如 ls os.linesep。一方面可以提高程式效能,區域性變數查詢速度更快 另一方面可用簡短識...

七個可以提公升python程式效能的好習慣

掌握一些技巧,可盡量提高python程式效能,也可以避免不必要的資源浪費。今天就為大家帶來七個可以提公升python程式效能的好習慣,趕快來學習吧 盡量使用區域性變數代替全域性變數 便於維護,提高效能並節省記憶體。使用區域性變數替換模組名字空間中的變數,例如 ls os.linesep。一方面可以提...

微軟提高ASP程式效能的28個技巧

技巧 1 將經常使用的資料快取在 web 伺服器上 技巧 3 將資料和 html 快取在 web 伺服器的磁碟上 技巧 6 合理地使用 session 物件 技巧 7 將 封裝在 com 物件中 技巧 8 遲一點獲得資源,早一點釋放資源 技巧 9 程序外執行過程以效能換取可靠性 技巧 10 使用顯式...