Python(大蟒蛇)是一門解釋型、面向對象、帶有動態語義的高級程序設計語言。python
在於1989年,由一位名叫Guido van Rossum(吉多.範羅蘇姆),爲打發時間設計了Python語言,第一個發行版公開於1991年。linux
Python是一款純粹的自由軟件,源代碼和解釋器CPython都遵循了GPL(GNU General Public License)協議。android
Python語法清晰簡潔,最有特點的是用空白符做爲語句的縮進。c++
Python具備強大而豐富的類庫,也常常被別人說是膠水語言,能夠跟其它語言(c/c++)寫的模塊結合在一塊兒。常見的狀況是使用Python快速生成程序的原型,而後有一部分須要有特別高的要求,須要其它語言改寫。例如3D遊戲中的圖形渲染須要用到C/C++編寫,而後封裝成.py擴展類庫由Python調用。須要注意的使用擴展類型須要考慮跨平臺性。程序員
優勢:
正則表達式
1.簡單:Python是一種表明簡單主義思想的語言。算法
2.易用:Python簡單容易上手,由於有簡單容易看懂的文檔。shell
3.速度快:運行速度快,由於Python中的標準庫和第三方庫都是C語言編寫的,因此很快。數據庫
4.免費、開源:Python是一款FLOSS(自由/源代碼軟件)之一,使用者能夠自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它作改動、把它的一部分用於新的自由軟件中。FLOSS是基於一個團體分享知識的概念。編程
5.高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
6.可移植性:因爲它的開源本質,Python已經被移植在許多平臺上(通過改動使它可以工做在不一樣平臺上)。這些平臺包括Linux、Windows、 FreeBSD、Macintosh、Solaris、OS/二、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平臺。
7.解釋性:一個用編譯性語言好比C或C++寫的程序能夠從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程經過編譯器和不一樣的標記、選項完成。運行程序的時候,鏈接/轉載器軟件把你的程序從硬盤複製到內存中而且運行。而Python語言寫的程序不須要編譯成二進制代碼。你能夠直接從源代碼運行 程序。在計算機內部,Python解釋器把源代碼轉換成稱爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程序更加易於移植。
8.面向對象:Python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。
9.可擴展性:若是須要一段關鍵代碼運行得更快或者但願某些算法不公開,能夠部分程序用C或C++編寫,而後在Python程序中使用它們。
10.可嵌入性:能夠把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。
11.豐富的庫:Python標準庫確實很龐大。它能夠幫助處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其餘與系統有關的操做。這被稱做Python的「功能齊全」理念。除了標準庫之外,還有許多其餘高質量的庫,如wxPython、Twisted和Python圖像庫等等。
12.規範的代碼:Python採用強制縮進的方式使得代碼具備較好可讀性。而Python語言寫的程序不須要編譯成二進制代碼。
缺點:
1.單行語句和命令行輸出問題:不少時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,能夠較爲方便的在shell下完成簡單程序,不須要如Python同樣,必須將程序寫入一個.py文件。
2.獨特的語法:這也許不該該被稱爲侷限,可是它用縮進來區分語句關係的方式仍是給不少初學者帶來了困惑。即使是頗有經驗的Python程序員,也可能陷入陷阱當中。最多見的狀況是tab和空格的混用會致使錯誤,而這是用肉眼沒法分別的。
3.運行速度慢:這裏是指與C和C++相比。
應用:
系統編程:提供API(Application Programming Interface應用程序編程接口),能方便進行系統維護和管理,Linux下標誌性語言之一,是不少系統管理員理想的編程工具[6] 。
黑客編程:python有一個hack的庫,內置了你熟悉的或不熟悉的函數,可是缺乏成就感。
標準庫: