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 使用顯式...