如何提高python代碼的性能,我的看法是要要關注代碼本身,這里我覺得有幾點是我們寫代碼的時候要注意的。
利用assert語句來發現問題,我們不能確保我們的邏輯是完全正確的,通過斷言來發現問題,提高代碼的執行效率
斷言很多語言都存在,它主要為調度程序服務,能夠快速方便地檢查程序的異常或者發現不恰當的輸入等,可防止意想不到的情況出現。防止程序崩或者死循環這類差體驗的代碼出現。
數據交換值的時候不推薦使用中間變量
在其它語言中,C語言尤其明顯,temp是變量在交換值是必須需要用的一個變量,不然值就交換不了。在Python中也可以這樣做,但是不推薦,利用a,b=b,a這種更加pythonic的代碼方式,可以讓我們獲取到量多好的性能,從時間上來看Pyhonic的方式時間會更短,常規的變量替換方式的時間會更長。
主要是因為Python表達式計算順序是從左到右,但遇到表達賦值的時候表達式右邊的操作先于左加的操作,因此計算順序就變成b,a->a,b
做數據計算的時候盡量轉換為浮點類型后再做除法
python在最初的設計的時候借鑒C語言的一些規則,但是C語言有個特別的地方是-變量在使用前會預先申明類型,當類型不符時,編譯器會盡可能進行強制轉換,否則編譯報錯。但是Python作為一門高級語言,我們就不能提前申明返回的結果是浮點類型,當除法運算中兩個操作數是整數的時候,其返回值為整數,這和實際的結果會有質的區別。因此,我們在做計算的時候,盡量地轉換數據類型。