首頁 > 後端開發 > Python教學 > python是什麼類型的程式語言

python是什麼類型的程式語言

青灯夜游
發布: 2023-02-01 15:50:26
原創
27737 人瀏覽過

Python是一種物件導向的動態、強型別的程式語言,是一門有條理的、強大的物件導向的程式設計語言。 Python簡單易用,學習成本低,看起來非常優雅乾淨;Python標準庫和第三庫眾多,功能強大,既可以開發小工具,也可以開發企業級應用。

python是什麼類型的程式語言

本教學操作環境:windows7系統、python3版,DELL G3電腦

python是什麼語言

Python 是一門有條理的、強大的物件導向的程式設計語言,是一種物件導向的動態、強型別腳本語言(詮釋型語言)。作者是荷蘭人 Guido van Rossum (吉多·範羅蘇姆,中國程式設計師稱之為「龜叔」)。

  • 強型別:不允許不同型別相加

  • #動態型別:不使用顯示資料型別聲明,決定一個變數的型別是在第一次給它賦值的時候

  • 腳本語言:一般也是解釋型語言。在程式運作的前一刻,還只有原始程式沒有可執行程式;而程式每執行到原始程式的某一條指令,解釋程式將原始程式碼轉換成二進位程式碼以供執行;總言之就是不斷的解釋、執行、解釋、執行.....

Python 的誕生是極具戲曲性的,據Guido 自述記載,Python 語言是在聖誕節期間為了打發無聊的時間而開發的,之所以會選擇Python 作為該程式語言的名字,是因為Guido 是Monty Python 戲劇團的忠實粉絲。

python是什麼類型的程式語言
圖:Python之父-吉多·範羅蘇姆

Python 語言是在ABC 語言的基礎上發展而來,其設計的初衷是成為ABC 語言的替代品。 ABC 語言雖然是一款功能強大的高階語言,但遺憾的是,由於 ABC 語言不開放的原因,導致它沒有普及應用。基於這個考慮,Guido 在開發 Python 之初就決定將其開源。

Python 中不僅添加了許多ABC 語言沒有的功能,同時,還為其設計了各種豐富而強大的庫,利用這些Python 庫,程式設計師可以把使用其它語言製作的各類模組(尤其是C語言和C )很輕鬆地「黏連」在一起,因此Python 又常被稱為「膠水」語言。

注意:這裡所說的函式庫和模組,簡單地理解就是一個個的源文件,每個文件中都包含可實現各種功能的方法(也可稱為函數)。

從整體來看,Python 語言最大的特點就是簡單,該特點主要體現在以下兩個方面:

  • Python 的語法非常簡潔明了,即便是非軟體專業的初學者,也很容易上手。

  • 和其它程式語言相比,實作同一個功能,Python 語言的實作程式碼往往是最短的。

Python為什麼流行

#Python 是一種開源的解釋腳本程式語言,它之所以非常流行,主要有三點原因:

  • Python 簡單易用,學習成本低,看起來非常優雅乾淨;

  • Python 標準庫和第三庫眾多,功能強大,既可以開發小工具,也可以開發企業級應用;

  • Python 站在了人工智慧和大數據的風口上,站在風口上,豬都能飛起來。

舉個簡單的例子來說明Python 的簡單:

#例如要實作某個功能,C語言可能需要100 行程式碼,而Python 可能只需要幾行程式碼,因為C語言什麼都要得從頭開始,而Python 已經內建了許多常見功能,我們只需要匯入包,然後呼叫一個函數。

簡單就是 Python 的巨大魅力之一,是它的殺手鐧,用慣了 Python 再用C語言簡直不能忍受。

Python的優點

#1) 文法簡單

和傳統的C/C 、 Java、C# 等語言相比,Python 對程式碼格式的要求沒有那麼嚴格,這種寬鬆使得使用者在編寫程式碼時比較舒服,不用在細枝末節上花費太多精力。我來舉兩個典型的例子:

Python 不要求在每個語句的最後寫上分號,當然寫也沒錯;

定義變數時不需要指明類型,甚至可以給同一個變數賦值不同類型的資料。

上述兩點也是 PHP、JavaScript、MATLAB 等常見腳本語言都具備的特性。

Python 是一種代表極簡主義的程式語言,閱讀一段排版優美的Python 程式碼,就像在閱讀一個英文段落,非常貼近人類語言,所以人們常說,Python 是一種具有偽代碼特點的程式語言。

偽代碼(Pseudo Code)是一種演算法描述語言,它介於自然語言和程式語言之間。編寫偽代碼的目的是為了使被描述的演算法可以更容易地以任何一種程式語言實現,例如 C、C 、Java 等。因此,偽代碼必須結構清晰、程式碼簡單、可讀性好,並且類似於自然語言。如果你學過資料結構,閱讀過嚴蔚敏的書籍,那你一定知道什麼是偽代碼。

為什麼說簡單就是殺手鐧?一旦簡單了,一件事情就會變得很純粹;我們在開發 Python 程式時,可以專注於解決問題本身,而不用顧慮語法的細枝末節。在簡單的環境中做一件純粹的事情,那簡直是一種享受。

2) Python 是開源的

開源,也也就是開放原始碼,意思是所有使用者都可以看到原始碼。

Python 的開源體現在兩個方面:

① 程式設計師使用 Python 編寫的程式碼是開源的。

例如我們開發了一個 BBS 系統(即網路論壇),放在網路上讓使用者下載,那麼使用者下載到的就是該系統的所有原始程式碼,並且可以隨意修改。這也是解釋型語言本身的特性,想要執行程式就必須有原始碼。

② Python 解釋器和模組是開源的。

官方將 Python 解釋器和模組的程式碼開源,是希望所有 Python 使用者都參與進來,一起改進 Python 的效能,彌補 Python 的漏洞,程式碼被研究的越多也就越健壯。

這個世界上總有那麼一小撮人,他們或不慕名利,或是為了達到某種目的,會不斷地加強和改善 Python。千萬不要認為所有人都是只圖眼前利益的,總有一些精英會放長線釣大魚,總有一些極客會做一些酷炫的事情。

3) Python 是免費的

開源並不等於免費,開源軟體和免費軟體是兩個概念,只不過大多數的開源軟體也是免費軟體;Python 就是這樣一種語言,它既開源又免費。

如果你想區分開源和免費的概念,請猛擊:開源就等於免費嗎?用事實來說話

用戶使用 Python 進行開發或發布自己的程序,不需要支付任何費用,也不用擔心版權問題,即使作為商業用途,Python 也是免費的。

4) Python 是高級語言

這裡所說的高級,是指Python 封裝較深,屏蔽了很多底層細節,例如Python 會自動管理記憶體(需要時自動分配,不需要時自動釋放)。

高階語言的優點是使用方便,不用顧慮細枝末節;缺點是容易讓人淺嚐輒止,知其然不知其所以然。

5) Python 是解釋語言,能跨平台

解釋型語言一般都是跨平台的(可移植性好),Python 也不例外,我們已經在《編譯型語言和解釋型語言的區別》中進行了講解,這裡不再贅述。

6) Python 是物件導向的程式語言

物件導向(Object Oriented)是大多數「現代」語言(即第三代程式語言)都具備的特性,否則在開發中大型程式時會捉襟見肘。

Python 雖然支援物件導向,但它並不會強制你使用這種特性。 Java 是典型的物件導向的程式語言,它強制必須以類別和物件的形式來組織程式碼。除 Python 和 Java 外,C 、C#、PHP、RuBy、Perl 等,也都支援物件導向的特性。

除了物件導向的程式語言外,還有一個過程導向的程式語言,其中最典型的代表就是 C 語言。

7) Python 功能強大(模組眾多)

Python 的模組眾多,基本上實現了所有的常見的功能,從簡單的字串處理,到複雜的3D 圖形繪製,借助Python 模組都可以輕鬆完成。

Python 社群發展良好,除了Python 官方提供的核心模組,許多第三方機構也會參與模組的開發中,這其中就有Google(Google)、Facebook(臉書)、Microsoft(微軟) 等軟體巨頭。

在 Python 中,即使是某些小眾的功能,它往往也有對應的開源模組,甚至有可能不只一個。

8) Python 可擴展性強

Python 的可擴展性體現在它的模組,Python 具有腳本語言中最豐富、強大的函式庫或模組,這些函式庫或模組涵蓋了檔案操作、圖形介面程式設計、網路程式設計、資料庫存取等絕大部分應用場景。

值得注意的是,這些類別庫的底層程式碼不一定都是 Python,還有很多 C/C 的身影。

例如當需要一段關鍵程式碼運行速度更快時,就可以使用 C/C 語言實現,然後在 Python 中呼叫它們。 Python 能把其它語言「黏」在一起,所以被稱為「膠水語言」。

Python 依靠其良好的擴展性,在一定程度上彌補了運行效率緩慢的缺點。

Python 的缺點

除了上述的各種優點,Python 也是有缺點的。

1) 運行速度慢

運行速度慢是解釋型語言的通病,Python 也不例外。

Python 速度慢不僅是因為一邊運行一邊「翻譯」原始程式碼,還因為 Python 是高階語言,屏蔽了很多底層細節。這個代價也是很大的,Python 要多做很多工作,有些工作是很消耗資源的,例如管理記憶體。

Python 的運行速度幾乎是最慢的,不但遠慢於 C/C ,還慢於 Java。

但是速度慢的缺點往往也不會帶來什麼大問題。首先是電腦的硬體速度運來越快,多花錢就可以堆出高性能的硬件,硬體效能的提升可以彌補軟體效能的不足。

其次是有些應用程式場景可以容忍速度慢,例如網站,使用者開啟一個網頁的大部分時間是在等待網路請求,而不是等待伺服器執行網頁程式。伺服器花 1ms 執行程序,和花 20ms 執行程序,對用戶來說是毫無感覺的,因為網路連接時間往往需要 500ms 甚至 2000ms。

2) 程式碼加密困難

不像編譯型語言那樣,原始碼會被編譯成可執行程式(這個編譯過程就相當於對原始碼加密),對Python 來說是直接運行原始程式碼,因此對原始碼加密是比較困難的。

【相關推薦:Python3影片教學

以上是python是什麼類型的程式語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板