為什麼使用python, Python是“腳本語言”嗎, 使用Python可以做些什麼, Python有那些技術上的優點, Python彩蛋。 ...
為什麼使用python:
- 軟體質量:
可讀寫、一致性、軟體質量
支持軟體開發的高級重用機制
- 提供開發者的效率:
代碼只有java或C++的1/5~1/3
無須編譯鏈接,提高了程式原的效率
- 程式的可移植性:
用戶圖像界面、資料庫接入、基於Web的系統等
- 標準庫的支持:
- 組件集成:
可以調用C或C++的庫
可以被C和C++程式調用
可以於Java組件集成
軟體質量:
簡潔和高可讀性的語法
極簡主義的設計理念:儘管實現某一編程任務通常有許多種方法,往往只有一種方法是顯而易見的
python採用模塊化設計、OPP在內的一些工具來提示程式的可重用性
開發效率:
python付出較少的精力完成更多的任務
簡潔的語法、動態類型、無需編譯、內置工具包
Python是“腳本語言”嗎:
python是一門多種用途的編程語言,時常在扮演腳本語言的角色
python可定義為面向對象的腳本語言
人們往往以“腳本”而不是“程式”描述python的代碼文件
“腳本”往往傾向於描述簡單的頂層代碼文件
“程式”則用來描述那些相對複雜一些的多文件
人們對Python冠以的三個不同角色:
- Shell工具:
實現諸如文本文件的處理以及調用其他程式等任務
python不只是一種很好的Shell腳本語言
- 控制語句:
測試硬體設備時,應用程式可以調用python代碼,而無需分發或者重新編譯整個系統代碼
- 快捷使用:
python的易用性和靈活性使編程任務變得簡單
常用於快速作業任務和長期戰略開發
Python的缺點是什麼:
Python沒有將代碼編譯成底層的二進位代碼,Python程式將會比C這樣的完全編譯的語言慢一些
Python開發速度帶來的效益往往比執行速度帶來的損失更為重要,而現代CPU越來越快
使用Python可以做些什麼:
- 系統編程:
Python對操作系統服務的內置介面,使其成為編寫可移植的維護操作系統的管理工具和部件(Shell工具)的理想工具
Python程式可以搜索文件和目錄樹、可以運行其他程式、用進程或線程進行並行處理等
Python的標準庫綁定了POSIX以及其他常規的操作系統(OS)工具:環境變數、文件、套接字、管道、進程、多線程、正則表達式模式匹配、命令行參數、標準流介面、Shell命令啟動器、文件名擴展等
- 用戶圖像介面:
Python內置了TKinter的標準面向對象介面Tk GUI API,使Python程式可以生成可移植的本地觀感的GUI
- Internet腳本:
Python提供了標準Internet模塊,能廣泛地在多種網路任務中發揮作用
腳本可以通過套接字進行通信、通過FTP傳輸文件、通過URL獲取網頁、通過XML-RPC、SOAP和Telnet通信等
- 組件集成:
Python可以通過C/C++系統進行擴展,並能夠嵌套C/C++系統的特性
將Python嵌入到產品中,在不需要重新編譯整個產品或分發源代碼的情況下,能夠進行產品的單獨定製
- 資料庫編程:
Python提供了對所有主流關係資料庫的介面
- 快速原型:
Python或C編寫的組件看起來都是一樣的,可以在一開始利用Python做系統原型,之後再將組件移植到C或C++這樣的編譯語言上。當原型確定後,Python不需要重寫
- 數值計算和科學計算編程:
Python提供對矩陣對象、標準數學庫的介面
- 游戲、圖像、人工智慧、XML、機器人等
利用pygame系統使用Python對圖形的游戲進行編程
利用PsSerial擴展在Windows、Linux以及更多系統上進行介面通信
用PIL、PyOpenGL、Blender、Maya和其他的一些工具進行圖像處理
用xml庫、xmlrpclib模塊和其他一些第三方擴展進行XML解析
......
Python有那些技術上的優點:
- 面向對象:
Python是一種面向對象的語言,支持多態、操作符重載和多重繼承等高級概念
- 免費:
Python的使用和分發都是完全免費的
- 可移植性:
Python的標準實現是由可移植的ANSI C編寫的
Python可以在下列平臺上運行:
Linux和UNIX、Windows和DOS、Mac OS、BeOS等等
- 功能強大:
Python是一個混合體,豐富的工具使他介於傳統的腳本語言(Tcl、Perl)和系統語言(C、C++)之間
-
- 動態鏈接:
Python在運行過程中隨時跟蹤對象的種類,不需要代碼中關於複雜的類型和大小的聲明
-
- 自動記憶體管理:
Python自動進行對象分配,當對象不再使用時將自動撤銷對象("垃圾回收")
-
- 大型程式支持:
為了能夠建立更大規模的系統,Python包含了模塊、類、和異常處理工具
-
- 內置對象類型:
Python提供了常用的數據結構作為語言的基本組成部分,例如:列表(list)、字典(dictionary)、字元串(string)
-
- 內置工具:
Python自帶了許多強大的標準操作,包括合併(concatenation)、分片(slice)、排序(sort)和映射(mapping)
-
- 庫工具:
Python預置了許多預編譯的庫工具,從正則表達式匹配到網路都支持
-
- 第三方工具:
- 可混合:
Python的C語言可以幫助Python程式靈活地調用C程式
Python於C或者C++寫出的庫文件混合起來,使Python成為一個前端語言和定製工具
- 簡單易用:
運行Python程式,至需要簡單鍵入Python程式並運行就可以了,不需要其他語言所必須的編譯和鏈接等中間步驟
- 簡單易學:
Python語言的核心是非常簡單易學
Python彩蛋:
要瞭解完整的Python哲學理想,在任意一個Python交互解釋器中鍵入import this命令。描述了一系列Python的設計原則
Python是工程,不是藝術:
Python的創立者所受的是數學家的訓練,Python就像數學一樣,其設計也具有正交性(orthogonal),例如:移動掌握Python的多態,剩下的就只是細節而已
編寫獨特、充滿技巧性的代碼,常常是Perl用戶之間的驕傲來源強,Perl是描述性語言
Python最有利於Perl這列描述語言:是Python的語法模型幾乎會強迫用戶編寫可讀的代碼,代碼在首次編寫後能夠長期使用