一、 Python介紹 Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向對象的解釋型電腦程式設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 Python是純粹的自由軟體, 源代碼和解釋器CPython ...
一、 Python介紹
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向對象的解釋型電腦程式設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 Python是純粹的自由軟體, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。 Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆地聯結在一起。常見的一種應用情形是,使用Python快速生成程式的原型(有時甚至是程式的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要註意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。 7月20日,IEEE發佈2017年編程語言排行榜:Python高居首位。應用領域:
系統編程:提供API(Application Programming Interface應用程式編程介面),能方便進行系統維護和管理,Linux下標誌性語言之一,是很多系統管理員理想的編程工具。 圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。 數學處理:NumPy擴展提供大量與許多標準數學庫的介面。 文本處理:python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程式員利用python進行XML程式的開發。 資料庫編程:程式員可通過遵循Python DB-API(資料庫應用程式編程介面)規範的模塊與Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等資料庫通信。python自帶有一個Gadfly模塊,提供了一個完整的SQL環境。 網路編程:提供豐富的模塊支持sockets編程,能方便快速地開發分散式應用程式。很多大規模軟體開發計劃例如Zope,Mnet 及BitTorrent. Google都在廣泛地使用它。 Web編程:應用的開發語言,支持最新的XML技術。 多媒體應用:Python的PyOpenGL模塊封裝了“OpenGL應用程式編程介面”,能進行二維和三維圖像處理。PyGame模塊可用於編寫游戲軟體。 pymo引擎:PYMO全稱為python memories off,是一款運行於Symbian S60V3,Symbian3,S60V5, Symbian3, Android系統上的AVG游戲引擎。因其基於python2.0平臺開發,並且適用於創建秋之回憶(memories off)風格的AVG游戲,故命名為PYMO。 黑客編程:python有一個hack的庫,內置了你熟悉的或不熟悉的函數,但是缺少成就感。特點:
優點
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程式就感覺像是在讀英語一樣。它使你能夠專註於解決問題而不是去搞明白語言本身。 易學:Python極其容易上手,因為Python有極其簡單的說明文檔[7] 。 速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C 寫的,運行速度非常快。[5] 免費、開源:Python是FLOSS(自由/開放源碼軟體)之一。使用者可以自由地發佈這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS是基於一個團體分享知識的概念。 高層語言:用Python語言編寫程式的時候無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節。 可移植性:由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平臺。 解釋性:一個用編譯性語言比如C或C++寫的程式可以從源文件(即C或C++語言)轉換到一個你的電腦使用的語言(二進位代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。運行程式的時候,連接/轉載器軟體把你的程式從硬碟複製到記憶體中並且運行。而Python語言寫的程式不需要編譯成二進位代碼。你可以直接從源代碼運行 程式。在電腦內部,Python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成電腦使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程式更加易於移植。 面向對象:Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程式是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程式是由數據和功能組合而成的對象構建起來的。 可擴展性:如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以部分程式用C或C++編寫,然後在Python程式中使用它們。 可嵌入性:可以把Python嵌入C/C++程式,從而向程式用戶提供腳本功能。 豐富的庫:Python標準庫確實很龐大。它可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。 規範的代碼:Python採用強制縮進的方式使得代碼具有較好可讀性。而Python語言寫的程式不需要編譯成二進位代碼。缺點
單行語句和命令行輸出問題:很多時候不能將程式連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程式,不需要如Python一樣,必須將程式寫入一個.py文件。 獨特的語法:這也許不應該被稱為局限,但是它用縮進來區分語句關係的方式還是給很多初學者帶來了困惑。即便是很有經驗的Python程式員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,而這是用肉眼無法分別的。 運行速度慢:這裡是指與C和C++相比。