認識 Python
人生苦短,我用 Python —— Life is short, you need Python
目標
- Python 的起源
- 為什么要用 Python?
- Python 的特點
- Python 的優缺點
01. Python 的起源
Python 的創始人為吉多·范羅蘇姆(Guido van Rossum)

- 1989 年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的解釋程式,作為 ABC 語言的一種繼承(感覺下什么叫牛人)
- ABC 是由吉多參加設計的一種教學語言,就吉多本人看來,ABC 這種語言非常優美和強大,是專門為非專業程式員設計的,但是 ABC 語言并沒有成功,究其原因,吉多認為是非開放造成的,吉多決心在 Python 中避免這一錯誤,并獲取了非常好的效果
- 之所以選中 Python(蟒蛇) 作為程式的名字,是因為他是 BBC 電視劇——蒙提·派森的飛行馬戲團(Monty Python's Flying Circus)的愛好者
- 1991 年,第一個 Python 解釋器 誕生,它是用 C 語言實作的,并能夠呼叫 C 語言的庫檔案
1.1 解釋器(科普)
計算機不能直接理解任何除機器語言以外的語言,所以必須要把程式員所寫的程式語言翻譯成機器語言,計算機才能執行程式,將其他語言翻譯成機器語言的工具,被稱為編譯器
編譯器翻譯的方式有兩種:一個是編譯,另外一個是解釋,兩種方式之間的區別在于翻譯時間點的不同,當編譯器以解釋方式運行的時候,也稱之為解釋器
![001_編譯型和解釋型語言作業對比-w360]
- 編譯型語言:程式在執行之前需要一個專門的編譯程序,把程式編譯成為機器語言的檔案,運行時不需要重新翻譯,直接使用編譯的結果就行了,程式執行效率高,依賴編譯器,跨平臺性差些,如 C、C++
- 解釋型語言:解釋型語言撰寫的程式不進行預先編譯,以文本方式存盤程式代碼,會將代碼一句一句直接運行,在發布程式時,看起來省了道編譯工序,但是在運行程式的時候,必須先解釋再運行
編譯型語言和解釋型語言對比
- 速度 —— 編譯型語言比解釋型語言執行速度快
- 跨平臺性 —— 解釋型語言比編譯型語言跨平臺性好
1.2 Python 的設計目標
1999 年,吉多·范羅蘇姆向 DARPA 提交了一條名為 “Computer Programming for Everybody” 的資金申請,并在后來說明了他對 Python 的目標:
- 一門簡單直觀的語言并與主要競爭者一樣強大
- 開源,以便任何人都可以為它做貢獻
- 代碼像純英語那樣容易理解
- 適用于短期開發的日常任務
這些想法中的基本都已經成為現實,Python 已經成為一門流行的編程語言
1.3 Python 的設計哲學
- 優雅
- 明確
- 簡單
- Python 開發者的哲學是:用一種方法,最好是只有一種方法來做一件事
- 如果面臨多種選擇,Python 開發者一般會拒絕花俏的語法,而選擇明確沒有或者很少有歧義的語法
在 Python 社區,吉多被稱為“仁慈的獨裁者”
02. 為什么選擇 Python?
- 代碼量少
- ……
同一樣問題,用不同的語言解決,代碼量差距還是很多的,一般情況下
Python是Java的 1/5,所以說 人生苦短,我用 Python
03. Python 特點
- Python 是完全面向物件的語言
- 函式、模塊、數字、字串都是物件,在 Python 中一切皆物件
- 完全支持繼承、多載、多重繼承
- 支持多載運算子,也支持泛型設計
- Python 擁有一個強大的標準庫,Python 語言的核心只包含 數字、字串、串列、字典、檔案 等常見型別和函式,而由 Python 標準庫提供了 系統管理、網路通信、文本處理、資料庫介面、圖形系統、XML 處理 等額外的功能
- Python 社區提供了大量的第三方模塊,使用方式與標準庫類似,它們的功能覆寫 科學計算、人工智能、機器學習、Web 開發、資料庫介面、圖形系統 多個領域
面向物件的思維方式
- 面向物件 是一種 思維方式,也是一門 程式設計技術
- 要解決一個問題前,首先考慮 由誰 來做,怎么做事情是 誰 的職責,最后把事情做好就行!
- 物件 就是 誰
- 要解決復雜的問題,就可以找多個不同的物件,各司其職,共同實作,最終完成需求
04. Python 的優缺點
04.1 優點
- 簡單、易學
- 免費、開源
- 面向物件
- 豐富的庫
- 可擴展性
- 如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以把這部分程式用
C或C++撰寫,然后在Python程式中使用它們
- 如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以把這部分程式用
- ……
04.2 缺點
- 運行速度
- 國內市場較小
- 中文資料匱乏
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/188624.html
標籤:Python
