什麼?你還不知道Python是啥?再不學習你就out了

【導讀:數據是二十一世紀的石油,蘊含巨大價值,這是·情報通·大數據技術系列第[109]篇文章,歡迎閱讀收藏】

1 基本概念

Python 在編程領域的佔有率一直處於穩步上升之中,根據最新的數據, Python 排名第七。前六名分別是 Java , C , VB , C++ , PHP 和 Perl 。隨著微軟將 Python 納入 .Net 平臺,相信 Python 的將來會更加強勁的發展。 Python 很可能會成為 .Net 平臺快速開發的主流語言。

著名的搜索引擎 Google 也大量使用 Python 。更加令人吃驚的是,在 Nokia 智能手機所採用的 Symbian 操作系統上, Python 同樣也可以運行在 Android 手機操作系統上,有很多 Python 愛好者通過 Android 平臺來學習 Python 語言,相信 Python 將成為繼 C++ , Java 之後的第三個編程語言。可見 Python 的影響力之巨大。

什麼?你還不知道Python是啥?再不學習你就out了

通常認為, Python 是一種解釋型的語言,但是這種說法是不正確的,實際上 Python 在執行時,首先會講 .py 文件中的源代碼編譯成 Python 的 byte code (字節碼),然後再由 Python Virtual Machine 來執行這些編譯好的 byte code 。這種機制的基本思想跟 Java , .Net 是一致的。然而, Python Virtual Machine 與 Java 或 .Net 的 Virtual Machine 不同的是, Python 的 Virtual Machine 是一種更高級的 Virtual Machine 。這裡的高級並不是通常意義上的高級,不是說 Python 的 Virtual Machine 比 Java 或 .Net 的功能更強大,而是說和 Java 或 .Net 相比, Python 的 Virtual Machine 舉例真實機器的距離更遠。或者可以這麼說, Python 的 Virtual Machine 是一種抽象層次更高的 Virtual Machine 。

2 術語解釋

Jython : Java 版本的 Python 。

.Net : Microsoft XML Web services 平臺。 XML Web services 允許應用程序通過 Internet 進行通訊和共享數據,而不管所採用的是哪種操作系統、設備或編程語言。

什麼?你還不知道Python是啥?再不學習你就out了

3 Python 的應用領域

Python 不僅僅是一個設計優秀的語言,它能夠完成現實中的各種任務,包括開發者們日復一日所做的事情。作為編制其他建、實現獨立程序的工具,它通常應用於各種領域。實際上,作為一種通用語言, Python 的應用角色幾乎是無限制的:你可以在任何場合應用 Python ,從網站和遊戲開發到機器人和航天飛機控制。

3.1 系統編程

Python 對操作系統服務的內置接口,使其成為編寫可移植的維護操作系統的管理工具和部件(有時也被成為 Shell 工具)的理想工具。 Python 程序可以搜索文件和目錄樹,可以運行其他程序,用進程或縣城進行並行處理等等。

Python 的標準庫綁定了 POSIX 以及其他常規操作系統系統( OS )的工具:環境變量、文件、套接字、管道、進程、多線程、正則表達式模式匹配、命令行參數、標準流接口、 Shell 命令啟動器、文件名擴展等。此外很多 Python 的系統工具設計時都考慮了其可移植性。例如,複製目錄樹的腳本無需做任何修改就可以在幾乎所有的 Python 平臺上運行。

3.2 用戶圖形接口

Python 的簡潔以及快速的開發週期十分適合開發 GUI 程序。 Python 內置了 TKinter 的標準面向對象接口 Tk GUI API ,使 Python 程序可以生成可移植的本地觀感的 GUI 應用程序。 Python/Tkinter GUI 不做任何改變就可以運行在微軟 Windows 、 X Windows ( UNIX 和 Linux )以及 Mac OS 等平臺上,一個免費的擴展包 PMW ,為 Tkinter 工具包增加了一些高級部件。此外,基於 C++ 平臺的工具包 wxPython GUI API 可以使用 Python 構建可移植的 GUI 應用程序。

諸如 PythonCard 和 Dabo 等一些高級工具包均是構建在 wxPython 和 Tkinter 的基礎 API 之上的。對於運行於瀏覽器中的應用程序, Jython ( Java 版本的 Python )和 Python 服務器斷的 GUI 腳本提供了其他一些用戶界面的選擇。

3.3 數據庫編程

對於傳統的數據庫需求, Python 提供了對所有主流關係數據庫的接口,例如, Sybase 、 Oracle 、 Informix 、 ODBC 、 MySQL 、 SQLite 等常用的數據庫 Python 均有相應的接口函數庫訪問這些數據庫。 Python 定義了一種通過 Python 腳本存取 SQL 數據庫系統的且可移植的數據庫 API 接口函數,這個 API 對於各種底層應用的數據庫系統都是廷議的。例如,因為廠商的接口實現為可移植的 API ,所以一個寫給自由軟件 MySQL 數據庫訪問應用腳本在很大程度上不需要改變就可以工作在其他數據庫系統上,僅僅需要將底層的廠商接口替換掉就可以實現。

3.4 數值計算和科學計算編程

Python 數值編程方面的擴展包 NumPy 包括很多高級工具,例如矩陣對象、標準數學庫的接口等。通過 NumPy 將 Python 編程一個縝密嚴謹並簡單易用的數值計算工具,其他一些數值計算工具為 Python 提供了動畫、 3D 可視化、並行處理等功能的支持。

3.5 遊戲、圖像、人工智能等

Python 可以利用 pygame 系統進行圖像圖形處理和遊戲編程,用 PIL 和其他的一些工具進行圖像處理,用 PyRo 工具包進行機器人控制編程,用 xml 庫、 xmlrpclib 模塊和其他一些第三方擴展進行 XML 解析,使用神經網絡仿真器和專業的系統 shell 進行 AI 編程,使用 NLTK 包進行自然語言分析,甚至可以使用 PySol 程序下棋娛樂等等。

3.6 組件集成

Python 可以通過 C/C++ 系統進行擴展,並能夠嵌套 C/C++ 系統的特性,使其能夠作為一種靈活的粘合語言,腳本化處理其他系統和組件的行為。例如,將一個 C 庫集成到 Python 中,能夠利用 Python 進行測試並調用庫中的其他組件,將 Python 嵌入到產品中,在不需要重新編譯整個產品或分發源代碼的情況下,能夠進行產品的單獨定製。

3.7 Internet 腳本

Python 提供了標準 Internet 模塊,使 Python 能夠廣泛地在多種網絡任務中發揮作用,無論是在服務器端還是在客戶端都是如此。腳本可以通過套接字進行通信,從發給服務器斷的 CGI 腳本的表單中解析信息,通過 URL 獲取網頁,從獲取的網頁中解析 HTML 和 XML 文件,通過 XML-RPC 、 SOAP 和 Telnet 通信等。 Python 的庫使這一切變得相當簡單。


分享到:


相關文章: