為什么我們要用Python


         最近有一個朋友問我:為什么我要用Python,這是一個好問題,今天有空,把這個問題簡單整理了一下,回來朋友的問題。該整理主要來源於網絡和其他資料,如果有侵權還請告知。
         Python的好處主要有以下幾種(來源自《集體智慧編程》英文版《Programming Collective Intelligence Building Smart Web 2.0 Applications》這本書:
         簡練
              使用像Python這樣的動態類型語言編寫的代碼往往比用其他主流語言編寫的代碼更加簡短。這意味着,在完成示例的過程中會有更少的錄入工作,而且這也意味着我們將更容易記住算法並真正領會算法的原理。
         易於閱讀
              Python不時被人們指為“可執行的偽代碼”。雖然很明顯這是誇大之詞,但是它表明,大多數有經驗的程序員可以讀懂Python代碼並領會代碼所要表達的意圖。
         易於安裝
              不管是Windows,Linux還是Mac系統,只要配置好Python的環境,只需要easy_install  XX或者pip install XX 就可以安裝所需要的第三方擴展包。當然,對於Windows 64bit的操作系統來說,可能稍微麻煩一點,有些會出現兼容性問題,不過也都可以找到相應的解決方案。
         易於擴展
              Python附屬了很多的標准庫,這些涉及數據函數,XML解析,以及網頁下載(筆者注:Python的BeautifulSoup是筆者見過的做好的HTML/XML解析工具之一,速度快,文檔例子非常多),RSS解析,SQLLite等等
         交互性
              Python可以直接從命令行運行程序,它還有交互提示,允許我們鍵入函數調用,創建對象,並以交互的形式對包進行測試。
         多范式
              Python支持面向對象,過程式和函數式的編程風格。機器學習算法千差萬別,最為清晰的做法是針對不同算法采用不同的范式。有時將函數作為參數傳入很有用處,而有時我們則需要再對象中捕獲狀態。對於這兩種方式,Python都比較好的予以支持。
         多平台和開源免費
              Python有一個針對所有主流平台的單一參考實現,並且對所有的平台都是免費的。Linux和Mac系統一般都是自帶Python的環境。Windows需要自行安裝,從 visual studio 2013開始,微軟平台也開始支持Python的開發功能。
         
         在這里還有一個需要格外注意的事情,對於Python來言, Python 解釋器不是完全線程安全的。 在Python 多線程當中,存在一個叫Global Interpreter Lock(GIL)的東西,直譯就是全局解釋器鎖。它的作用在於讓同一時刻只能有一個線程對於python對象進行操作。Python已經提供了各種機制讓我們進行多線程同步,為什么又要整這個GIL呢?這是因為程序員控制的同步是對各個程序中可見的變量,而GIL同步的是解釋器后台的不可見變量,比如為了進行垃圾回收而維護的引用計數。如果沒有GIL,有可能出現由於線程切換導致的對同一個對象釋放兩次的情況。這點需要格外注意。
         
         關於為什么要用Python也可以參照如下的兩篇博客描述
         為什么要使用Python: http://blog.csdn.net/caimouse/article/details/41550045
         為什么我們要用Python: http://www.cnblogs.com/huxi/archive/2010/12/19/1910425.html
          Python線程狀態和全局解釋器鎖:http://blog.csdn.net/cglover/article/details/2566450

         額外追加一張Python與Java的一個實現對比:
         來源網站: http://spark.apache.org/examples.html
         
    
         
         
         





免責聲明!

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



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