提升Python程序性能的幾個小技巧


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

1. 使用局部變量

盡可能使用局部變量替代全局變量,可以是程序易於維護並且有助於提高性能節約成本。

2. 減少函數調用的數量

當需要確定對象類型時,使用isinstance()方法最好,id()次之,type()最差。

è¿éåå¾çæè¿°

為了避免重復計算,不要把重復操作作為參數放入循環中。

è¿éåå¾çæè¿°

3. 使用映射來替換條件搜索

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

è¿éåå¾çæè¿°

4. 直接迭代序列元素

è¿éåå¾çæè¿°

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

列表解析生成整個列表,會對大量數據的迭代產生負面作用。而生成器表達式不會。生成器表達式不會創建一個列表,相反返回一個生成器,在需要的時候生成具體值(延遲的),這種方式對內存友好。

è¿éåå¾çæè¿°

6. 先編譯后調用

當使用函數eval()和exec()來執行代碼時,最好調用代碼對象(通過compile()函數預先編譯成字節碼)而不是直接調用str,這樣可以避免重復編譯過程多次和提高程序的性能。 正則表達式模式匹配是類似的。 在執行比較和匹配之前,最好將正則表達式模式編譯為正則表達式對象(通過re.complie()函數)。

7. 模塊編程的習慣

模塊中最高級別的Python語句(無縮進代碼)將在導入模塊時執行(是否真的需要執行)。 因此,您應該嘗試將模塊的所有功能代碼放入函數中(與主程序相關的功能代碼也可以放入main()函數,主程序本身調用main()函數)。 測試代碼可以寫在模塊的main()函數中。 將在主程序中檢測__name__的值。 如果是"__main__"(表示模塊是直接執行的),則調用main()函數進行測試; 如果它是模塊的名稱(表示模塊被調用),則不會執行測試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM