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()函數進行測試; 如果它是模塊的名稱(表示模塊被調用),則不會執行測試。
