認識 Python

認識 Python

人生苦短,我用 Python —— Life is short, you need Pythonpython

001_人生苦短我用python

目標

  • Python 的起源程序員

  • 爲何要用 Python?算法

  • Python 的特色數據庫

  • Python 的優缺點編程

01. Python 的起源

Python 的創始人爲吉多·範羅蘇姆(Guido van Rossum)網絡

002_吉多-w256

  1. 1989 年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的解釋程序,做爲 ABC 語言的一種繼承(感受下什麼叫牛人機器學習

  2. ABC 是由吉多參加設計的一種教學語言,就吉多本人看來,ABC 這種語言很是優美和強大,是專門爲非專業程序員設計的。可是 ABC 語言並無成功,究其緣由,吉多認爲是非開放形成的。吉多決心在 Python 中避免這一錯誤,並獲取了很是好的效果編程語言

  3. 之因此選中 Python(蟒蛇) 做爲程序的名字,是由於他是 BBC 電視劇——蒙提·派森的飛行馬戲團(Monty Python's Flying Circus)的愛好者函數

  4. 1991 年,第一個 Python 解釋器 誕生,它是用 C 語言實現的,並可以調用 C 語言的庫文件工具

1.1 解釋器(科普)

計算機不能直接理解任何除機器語言之外的語言,因此必需要把程序員所寫的程序語言翻譯成機器語言,計算機才能執行程序。將其餘語言翻譯成機器語言的工具,被稱爲編譯器

編譯器翻譯的方式有兩種:一個是編譯,另一個是解釋。兩種方式之間的區別在於翻譯時間點的不一樣。當編譯器以解釋方式運行的時候,也稱之爲解釋器

001_編譯型和解釋型語言工做對比-w360

  • 編譯型語言:程序在執行以前須要一個專門的編譯過程,把程序編譯成爲機器語言的文件,運行時不須要從新翻譯,直接使用編譯的結果就好了。程序執行效率高,依賴編譯器,跨平臺性差些。如 C、C++

  • 解釋型語言:解釋型語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼,會將代碼一句一句直接運行。在發佈程序時,看起來省了道編譯工序,可是在運行程序的時候,必須先解釋再運行

編譯型語言和解釋型語言對比

  • 速度 —— 編譯型語言比解釋型語言執行速度快

  • 跨平臺性 —— 解釋型語言比編譯型語言跨平臺性好

1.2 Python 的設計目標

1999 年,吉多·範羅蘇姆向 DARPA 提交了一條名爲 「Computer Programming for Everybody」 的資金申請,並在後來講明瞭他對 Python 的目標:

  • 一門簡單直觀的語言並與主要競爭者同樣強大

  • 開源,以便任何人均可覺得它作貢獻

  • 代碼像純英語那樣容易理解

  • 適用於短時間開發的平常任務

這些想法中的基本都已經成爲現實,Python 已經成爲一門流行的編程語言

1.3 Python 的設計哲學

  1. 優雅

  2. 明確

  3. 簡單

<!-- > 在 Python 解釋器內運行 `import this` 能夠得到完整的列表 -->

  • Python 開發者的哲學是:用一種方法,最好是隻有一種方法來作一件事

  • 若是面臨多種選擇,Python 開發者通常會拒絕花俏的語法,而選擇明確沒有或者不多有歧義的語法

在 Python 社區,吉多被稱爲「仁慈的獨裁者」

02. 爲何選擇 Python?

  • 代碼量少

  • ……

同同樣問題,用不一樣的語言解決,代碼量差距仍是不少的,通常狀況下 PythonJava1/5,因此說 人生苦短,我用 Python

03. Python 特色

  • Python 是徹底面向對象的語言

    • 函數模塊數字字符串都是對象,在 Python 中一切皆對象

    • 徹底支持繼承、重載、多重繼承

    • 支持重載運算符,也支持泛型設計

  • Python 擁有一個強大的標準庫,Python 語言的核心只包含 數字字符串列表字典文件 等常見類型和函數,而由 Python 標準庫提供了 系統管理網絡通訊文本處理數據庫接口圖形系統XML 處理 等額外的功能

  • Python 社區提供了大量的第三方模塊,使用方式與標準庫相似。它們的功能覆蓋 科學計算人工智能機器學習Web 開發數據庫接口圖形系統 多個領域

面向對象的思惟方式

  • 面向對象 是一種 思惟方式,也是一門 程序設計技術

  • 要解決一個問題前,首先考慮 由誰 來作,怎麼作事情是 的職責,最後把事情作好就行!

    • 對象 就是

  • 要解決複雜的問題,就能夠找多個不一樣的對象各司其職,共同實現,最終完成需求

04. Python 的優缺點

4.1 優勢

  • 簡單、易學

  • 免費、開源

  • 面向對象

  • 豐富的庫

  • 可擴展性

    • 若是須要一段關鍵代碼運行得更快或者但願某些算法不公開,能夠把這部分程序用 CC++ 編寫,而後在 Python 程序中使用它們

  • ……

4.2 缺點

  • 運行速度

  • 國內市場較小

  • 中文資料匱乏

相關文章
相關標籤/搜索