- Python 3 數據分析與機器學習實戰
- 龍馬高新教育
- 1389字
- 2020-09-25 10:55:21
1.1 Python簡介

Python是一種可以撰寫跨平臺應用程序的解釋型、面向對象的高級程序設計語言。由于語法簡潔而清晰,十分容易上手,且具有豐富和強大的類庫,它往往能夠用幾行簡單的代碼就可以驅動操作系統及應用程序的多樣化功能,因此它又常被稱為膠水語言。
1.1.1 了解Python的起源與發展歷史
Python是由吉多 ?范羅蘇姆(Guido van Rossum)在1989年年底創立的,據說Guido當時只是為了打發圣誕節的無趣時光,而決定開發一種新的腳本程序語言。Python的英文含義是大蟒蛇,之所以選擇Python作為程序的名稱,是因為吉多 ?范羅蘇姆是一個叫Monty Python的喜劇團體的愛好者。
Python可看作是由ABC語言發展過來的,主要是受Modula-3(小團體設計的一種語言)的影響,并結合了Unix shell和C語言的優點。Python于1991年公開發行第一個版本, 2000年發布了2.0版本,2008年發布了3.0版本。同Perl語言一樣,Python源代碼同樣遵循GPL(GNU General Public License)協議。到目前為止,Python已經發展了27年,在各個領域有著廣泛的應用。
1.1.2 Python的特色
Python具有以下特點。
① 簡單、易學、易讀、易維護。由于Python關鍵字較少、結構簡單、語法明確,學習起來容易上手,源代碼也易于維護。
② 解釋型語言。它不需要開發者進行編譯,在程序運行時才被翻譯成機器語言。
③ 免費、開源。Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發布這個軟件的復制、閱讀、并修改其源代碼,也可以將其部分代碼應用于新的自由軟件中。
④ 可移植性(跨平臺性)?;谄溟_源的特性,Python已經被移植到許多平臺上(它可以在不同的平臺上工作)。這些平臺主要包括Windows、Linux、Mac等。Windows客戶端簡單易用,Linux穩定性好,Mac提供更好的用戶體驗。
⑤ 面向對象。Python既支持面向過程的編程,也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。
⑥ 可擴展性。如果想快速運行一段關鍵代碼或編寫的某些算法不愿公開,可以使用C或C++編程,然后在Python程序中調用它們。
⑦ 豐富的庫。Python提供了功能豐富的標準庫,包括正則表達式、文檔生成、線程、數據庫、GUI(圖形用戶界面)等。此外,還有一些其他的高質量的庫,如Twisted、Python圖像庫等。
⑧ 可嵌入性??梢园裀ython嵌入C/C++程序中,從而為程序用戶提供腳本功能。
⑨ 高級。Python是一種高級語言,無須考慮內存分配、釋放等底層細節問題。
⑩ 規范的代碼。Python采用強制縮進的方式使代碼具有較強的可讀性。
1.1.3 學習Python的原因
有學者調查發現,Python是當今最活躍的編程語言之一。Python之所以受到程序員和初學者的喜愛,主要是因為以下幾點。
首先,Python編寫代碼的速度非常快,而且非常注重代碼的可讀性,非常適合多人參與的項目。它具備了比傳統的腳本語言更好的可重用性,維護起來也很方便。與現在流行的編程語言Java、C、C++等相比較,同樣是完成一個功能,C要寫1000行代碼,Java需要寫100行,而Python編寫的代碼短小精干,可能只需要20行,開發效率是其他語言的幾倍。
其次,Python支持多平臺開發,用它編寫的代碼可以不經過任何轉換就能在Linux與Windows系統中任意移植,在蘋果OS系統也沒有任何兼容性的問題。不僅是自己編寫的代碼具有可移植性,系統提供的一些GUI圖形化編程、數據庫操作、網頁網絡編程接口不需要修改也可以移植到任何系統中。
最后,最重要的一點是Python有非常豐富的標準庫,標準庫在安裝Python時就直接安裝到系統中了,無須另外下載。標準庫的這些模塊從字符串到網絡腳本編程、游戲開發、科學計算、數據庫接口等都給我們提供了超級多的功能應用,不需要自己再去“造輪子”了。
- Advanced Machine Learning with Python
- Mastering NetBeans
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- JavaScript+jQuery網頁特效設計任務驅動教程(第2版)
- DevOps入門與實踐
- INSTANT Mercurial SCM Essentials How-to
- Nginx實戰:基于Lua語言的配置、開發與架構詳解
- 精通MATLAB(第3版)
- 深入淺出Go語言編程
- 汽車人機交互界面整合設計
- 大學計算機基礎
- 深入實踐DDD:以DSL驅動復雜軟件開發
- AutoCAD基礎教程
- 循序漸進Vue.js 3前端開發實戰
- 計算機視覺實戰:基于TensorFlow 2