Python是什麼?一篇文章帶你全面瞭解Python

Python在各種程式語言裡是一種怎樣的存在?“各種程式語言”這個範圍就有點大了。

現在,全世界差不多有600多種程式語言,流行的程式語言也有20來種。但如果你聽說過TIOBE排行榜,你就能知道程式語言的大致流行程度。

在TIOBE公佈的《TIOBE 4 月 TOP 20 程式語言》中,Python位列第一,而這也是Python連續佔據榜首的第七個月。

Python是什麼?一篇文章帶你全面瞭解Python

再來看一下《TOP 10 程式語言 TIOBE 指數走勢(2002-2022)》

Python是什麼?一篇文章帶你全面瞭解Python

從這個指數走勢來看,Python語言從2018年開始發展速度便開始呈指數級增長,而且明顯還未到達高點。

最後看看不同程式語言之間的真實區別:

常用的程式語言都是各有千秋,各自都有自己的優點。比如:

C語言可以編寫作業系統的貼近硬體的語言,適合開發那些追求執行速度、充分發揮硬體效能的程式。

Python是用來編寫應用程式的高階程式語言。它的定位是“優雅”、“明確”、“簡單”,儘量寫容易看明白的程式碼,儘量寫少的程式碼。

01 Python到底是一種什麼樣的語言?

一種解釋型語言:開發過程中沒有編譯這個環節,能省下不少時間與精力。

一種互動式語言:可以在一個Python提示符,直接互動執行寫你的程式。

面向物件的語言:支援面向物件的風格或程式碼封裝在物件的程式設計技術。

是初學者的語言:支援廣泛的應用程式開發。

我舉個例子:比如說要編寫一個電子郵件客戶端。

如果先從最底層開始編寫網路協議相關的程式碼,那估計一年半載也開發不出來。

高階程式語言通常會提供一個比較完善的基礎程式碼庫,覆蓋了網路、檔案、GUI、資料庫、文字等大量內容,能直接呼叫。

也就是說,用Python這種高階程式語言,針對電子郵件協議的SMTP庫,針對桌面環境的GUI庫,在已有的程式碼庫的基礎上開發,一個電子郵件客戶端幾天就能開發出來。

除了內建的庫外,Python還有大量的第三方庫,也就是別人開發的,供你直接使用的東西。當然,如果你開發的程式碼透過很好的封裝,也可以作為第三方庫給別人使用。

02 Python適合開發哪些型別的應用?

首選是網路應用,包括網站、後臺服務等等。

許多大型網站都是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

其次是許多日常需要的小工具,包括系統管理員需要的指令碼任務等等;

另外就是把其他語言開發的程式再包裝起來,方便使用。

03 Python的優缺點有哪些?

3。1 Python的優點

1。易於學習:Python有相對較少的關鍵字,結構簡單,學習起來更加簡單。

2。易於閱讀:Python程式碼定義的相對於其他的程式碼更加的清晰。

3。易於維護:Python的成功在於它的原始碼是相當容易維護的。

4。廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。

5。互動模式:互動模式的支援,可以從終端輸入執行程式碼並獲得結果的語言,互動的測試和除錯程式碼

片段

6。可移植:基於其開放原始碼的特性,Python已經被移植(也就是使其工作)到許多平臺。

7。可擴充套件:如果你需要一段執行很快的關鍵程式碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中呼叫。

8。資料庫:Python提供所有主要的商業資料庫的介面。

9。GUI程式設計:Python支援GUI可以建立和移植到許多系統呼叫。

10。可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的使用者獲得“指令碼化”的能力。

3。2 Python的缺點

第一個缺點就是執行速度慢,和C程式相比非常慢。

因為Python是解釋型語言,你的程式碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,而C程式是執行前直接編譯成CPU能執行的機器碼,所以非常快。

但是大量的應用程式不需要這麼快的執行速度,因為使用者根本感覺不出來。

舉個例子:

開發一個下載MP3的網路應用程式,C程式的執行時間需要0。001秒,而Python程式的執行時間需要0。1秒,慢了100倍,但由於網路更慢,需要等待1秒,你想,使用者能感覺到1。001秒和1。1秒的區別嗎?

第二個缺點就是程式碼不能加密。

如果要釋出你的Python程式,實際上就是釋出原始碼,這一點跟C語言不同,C語言不用釋出原始碼,只需要把編譯後的機器碼(也就是你在Windows上常見的xxx。exe檔案)釋出出去。

要從機器碼反推出C程式碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而

解釋型

的語言,則必須把原始碼釋出出去。

這個缺點僅限於你要編寫的軟體需要賣給別人掙錢的時候。好訊息是目前的網際網路時代,靠賣軟體授權的商業模式越來越少了,靠網站和移動應用賣服務的模式越來越多了,後一種模式不需要把原始碼給別人。

再說了,現在如火如荼的開源運動和網際網路自由開放的精神是一致的,網際網路上有無數非常優秀的像Linux一樣的開原始碼,我們千萬不要高估自己寫的程式碼真的有非常大的“商業價值”。那些大公司的程式碼不願意開放的更重要的原因是程式碼寫得太爛了,一旦開源,就沒人敢用他們的產品了。

當然,Python還有其他若干小缺點,請自行忽略,就不一一列舉了。