想要提升Python的程式效能,這七個習慣一定要養成
Python不以效能見長,但掌握一些技巧,也可儘量提高程式效能,避免不必要的資源浪費。
Python學習資料或者需要程式碼、視訊加Python學習群:960410445
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、 採用生成器表示式替代列表解析
列表解析(list comprehension),會產生整個列表,對大量資料的迭代會產生負面效應。
而生成器表示式則不會,其不會真正建立列表,而是返回一個生成器,在需要時產生一個值(延遲計算),對記憶體更加友好。
6、 先編譯後呼叫
使用eval()、exec()函式執行程式碼時,最好呼叫程式碼物件(提前通過compile()函式編譯成位元組碼),而不是直接呼叫str,可以避免多次執行重複編譯過程,提高程式效能。
正規表示式模式匹配也類似,也最好先將正規表示式模式編譯成regex物件(通過re.complie()函式),然後再執行比較和匹配。
7、 模組程式設計習慣
模組中的最高階別Python語句(沒有縮排的程式碼)會在模組匯入(import)時執行(不論其是否真的必要執行)。因此,應儘量將模組所有的功能程式碼放到函式中,包括主程式相關的功能程式碼也可放到main()函式中,主程式本身呼叫main()函式。
可以在模組的main()函式中書寫測試程式碼。在主程式中,檢測__name__的值,如果為'__main__'(表示模組是被直接執行),則呼叫main()函式,進行測試;如果為模組名字(表示模組是被呼叫),則不進行測試。
相關文章
- 想要寫出好味道的程式碼,你需要養成這些好習慣!
- 高效程式設計師應該養成的七個習慣程式設計師
- 提升Python程式效能的小習慣!Python
- 高效能程式設計師的七個習慣程式設計師
- 幫你提升Python執行效能的7 個習慣Python
- Web開發者需養成的8個好習慣Web
- 養成良好的開發習慣
- 高效能人的七個習慣(Seven Habits)
- 養成8個程式設計習慣,你的Python技能將蹭蹭蹭都往上漲程式設計Python
- 養成一個好習慣:在嚴格模式下開發Javascript模式JavaScript
- 高效程式設計師的七個習慣程式設計師
- 要養成良好的書寫SQL的習慣SQL
- 零基礎入門學習Python,這13個Python慣用小技巧一定要收藏Python
- 高中生需要養成的學習習慣有哪些
- 養成良好的專案檔案上傳習慣
- 編寫安全PHP應用程式的七個習慣PHP
- 提升 Python 程式效能的 6 個技巧Python
- 編碼規範 - 養成良好的Java編碼習慣Java
- 一個Python爬蟲工程師學習養成記Python爬蟲工程師
- Java程式設計師想要跳槽,一定要注意這些技巧!Java程式設計師
- ui設計師要養成哪些職場習慣呢?UI
- 10 個 推薦的 Python 程式碼習慣Python
- Python程式設計的16個壞習慣Python程式設計
- 成為高效程式設計師的7個重要習慣程式設計師
- 2024-08-學習《高效能人士的七個習慣》筆記筆記
- SQL Server管理員不易養成的好習慣(附小工具)SQLServer
- 10個習慣助你成為一名優秀的程式設計師程式設計師
- Linux入門,這七大習慣得有!Linux
- 打通前後端,這款效能提升開源“神器”你一定要了解後端
- 分享成為高效程式設計師的7個重要習慣程式設計師
- 為什麼軟體工程師應該養成寫作的習慣?軟體工程工程師
- 有效提升Python程式碼效能的三個層面Python
- 哪些日常的習慣會使你成為一個更好的開發者?
- 學習Python,一定要記住這三步!Python
- 為什麼“except:pass”是一個不好的Python程式設計習慣?Python程式設計
- 想要成為一個合格的Java程式設計師, 你必須要做到這些!Java程式設計師
- 身為Linux運維工程師,這6個好習慣你養成了嗎?Linux運維工程師
- 一個思維習慣,讓你成為架構師架構