「大數據」(一百零八)Python概述-Python簡介

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

1 基本概念

Python 是一種解釋型、面向對象、動態數據類型的高級程序設計語言,屬於應用層軟件。自從 20 世紀 90 年代初 Python 語言誕生至今,它逐漸被廣泛應用於處理系統管理任務、自動化運維、圖像處理遊戲和 Web 網站開發等領域。 Python 已經成為最受歡迎的程序設計語言之一。

「大數據」(一百零八)Python概述-Python簡介

由於 Python 語言的簡潔、易讀以及可擴展性,在國外用 Python 做科學計算的研究機構日益增多,一些知名大學已經採用 Python 教授程序設計課程。例如麻省理工學院的計算機科學及編程導論課程就使用 Python 語言講授。眾多開源的科學計算軟件包都提供了 Python 的調用接口,例如著名的計算機視覺庫 OpenCV 、三維可視化庫 VTK 、醫學圖像處理庫 ITK 。而 Python 專用的科學計算擴展庫就更多了,例如如下 3 個十分經典的科學計算擴展庫: NumPy 、 SciPy 、 matploylib ,它們分別為 Python 提供了快速數值處理、數值運算以及繪圖功能。因此 Python 語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程序。

「大數據」(一百零八)Python概述-Python簡介

2 術語解釋

2.1 Python 解析器

當我們編寫 Python 代碼時,我們得到的是一個以 .py 為擴展名的符合 Python 語法規範的文本文件。要運行代碼,就需要 Python 解釋器去執行 .py 文件。

2.2 Python 解析器的分類

1 、 CPython

當我們從 官方網站 下載並安裝好 Python 3.x 後,我們就直接獲得了一個官方版本的解釋器: CPython 。這個解釋器是用 C 語言開發的,所以叫 CPython 。在命令行下運行 python 就是啟動 CPython 解釋器。

2 、 IPython

IPython 是基於 CPython 之上的一個交互式解釋器,也就是說, IPython 只是在交互方式上有所增強,但是執行 Python 代碼的功能和 CPython 是完全一樣的。好比很多國產瀏器雖然外觀不同,但內核其實都是調用了 IE 。 CPython 用 >>> 作為提示符,而 IPython 用 In [ 序號 ]: 作為提示符。

3 、 PyPy

PyPy 是另一個 Python 解釋器,它的目標是執行速度。 PyPy 採用 JIT 技術,對 Python 代碼進行動態編譯(注意不是解釋),所以可以顯著提高 Python 代碼的執行速度。

絕大部分 Python 代碼都可以在 PyPy 下運行,但是 PyPy 和 CPython 有一些是不同的,這就導致相同的 Python 代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到 PyPy 下執行,就需要了解 PyPy 和 CPython 的不同點。

4 、 Jython

Jython 是運行在 Java 平臺上的 Python 解釋器,可以直接把 Python 代碼編譯成 Java 字節碼執行。

5 、 IronPython

IronPython 和 Jython 類似,只不過 IronPython 是運行在微軟 .Net 平臺上的 Python 解釋器,可以直接把 Python 代碼編譯成 .Net 的字節碼。

3 詳細說明

3.1 Python 的歷史

Python 的創始人為 Guido van Rossum 。 1989 年聖誕節期間,在阿姆斯特丹, Guido 為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為 ABC 語言的一種繼承。之所以選中 Python (大蟒蛇的意思)作為程序的名字,是因為他是一個 Monty Python 的飛行馬戲團的愛好者。

ABC 是由 Guido 參加設計的一種教學語言。就 Guido 本人看來, ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是 ABC 語言並沒有成功,究其原因, Guido 認為是由其非開放性使用原則所造成的。 Guido 決心在 Python 中避免這一錯誤(的確如此, Python 與其他的如 C , C++ 和 Java 結合的非常好)。同時,他還想實現在 ABC 中閃現過但未曾實現的東西。就這樣, Python 就在 Guido 手中誕生了。實際上, Python 首先是在 Mac 機上實現的。可以說, Python 是從 ABC 發展起來,主要受到了 Modula-3 (另一種相當優美且強大的語言,為小型團體所設計)的影響。並且結合了 Unix shell 和 C 的習慣。成為一門為眾多 UNIX 和 Linux 開發者所青睞的開發語言。

3.2 Python 語言特色

可擴充性可以說是 Python 能作為一種編程語言的一大特色。擴展的新的模塊( module )可以用 C 或 C++ 寫成。而我們也可為線程的模塊加上 Python 的接口。 Python 可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實現的程序任務(邏輯)上。

Python 也被稱為是一門清晰的語言。因為它的作者在設計它的時候,總的指導思想是,對於一個特定的問題,只要有一種最好的方法來解決就好了。

Python 語言是一種清晰的語言的另一個意思是,它的作者有意的設計限制性很強的語法,使得不好的編程習慣(例如 if 語句的下一行不向右縮進)都不能通過編譯。這樣有意的強制程序員養成良好的編程習慣。其中很重要的一項就是 Python 的縮進規則。


分享到:


相關文章: