歡迎您光臨本站 註冊首頁

好吧,Python的缺點是什麼呢

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

好吧,Python的缺點是什麼呢

在經過17年的Python使用和12年Python的教學之後,我們發現Python唯一的缺點就是,在目前現有的實現方式下,與C和C++這類編譯語言相比,Python的執行速度還不夠快。

本書後面將對實現方式的概念進行詳細闡述。簡而言之,目前Python的標準實現方式是將源代碼的語句編譯(或者說是轉換)為位元組碼的形式,之後再將位元組碼解釋出來。由於位元組碼是一種與平台無關的格式,位元組碼具有可移植性。然而,因為Python沒有將代碼編譯成底層的二進位代碼(例如,Intel晶元的指令),一些Python程序將會比像C這樣的完全編譯語言慢一些。

程序的類型決定了是否需要關注程序的執行速度。Python已經優化過很多次,並且Python代碼在絕大多數應用領域運行的速度也足夠快。此外,一旦使用Python腳本做一些“現實”世界的事情,程序實際上是以C語言的速度運行的,例如,處理某一個文件或構建一個用戶圖形界面(GUI)。因為在這樣的任務中,Python代碼會立即發送至Python解釋器內部已經編譯的C代碼。究其根源,Python開發速度帶來的效益往往比執行速度帶來的損失更為重要,特別是在現代計算機的處理速度情況下。

即使當今CPU的處理速度很快,在一些應用領域仍然需要優化程序的執行速度。例如,數值計算和動畫,常常需要其核心數值處理單元至少以C語言的速度(或更快)執行。如果在以上領域工作,通過分離一部分需要優化速度的應用,將其轉換為編譯好的擴展,並在整個系統中使用Python腳本將這部分應用連接起來,仍然可以使用Python。

本書我們將不會再談論這個擴展的問題,但這卻是一個我們先前所提到過的Python作為控制語言角色的鮮活例子。NumPy是採用雙語言混編策略的一個重要例子:作為一個Python的數值計算擴展,NumPy將Python變為一個高效並簡單易用的數值計算編程工具。你也許不會在自己的Python工作中採用這種擴展的方式編程,但是如果需要的話,Python也是能夠提供這種強大的優化機制的。

【責任編輯:雲霞 TEL:(010)68476606】

回書目   上一節   下一節

 



[火星人 ] 好吧,Python的缺點是什麼呢已經有1629次圍觀

http://coctec.com/docs/program/show-post-71439.html