python概述
Python是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum于1989年發明,第一個公開發行版發行于1991年。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。
Python優缺點
優點:
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注于解決問題而不是去搞明白語言本身。
易學:Python極其容易上手,因為Python有極其簡單的說明文檔 。
速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C 寫的,運行速度非??臁?/p>
免費、開源: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程序員,也可能陷入陷阱當中。
運行速度慢:這里是指與C和C++相比。
python適合做什么開發
Python不僅僅是一個設計優秀的程序語言,它能夠完成現實中的各種任務,你可以在任何場合應用Python,從網站和游戲開發到機器人和航天飛機控制。
1、python可以用于系統編程。Python對操作系統服務的內置接口,使其成為編寫可移植的維護操作系統的管理工具和部件(有時也被稱為Shell工具)的理想工具。
Python程序可以搜索文件和目錄樹,可以運行其他程序,用進程或線程進行并行處理等等。
2、python可以用于用戶圖形接口。Python的簡潔以及快速的開發周期十分適合開發GUI程序。
此外,基于C++平臺的工具包wxPythonGUIAPI可以使用Python構建可移植的GUI。諸如PythonCard和Dabo等一些高級工具包是構建在wxPython和Tkinter的基礎API之上的。通過適當的庫,你可以使用其他的GUI工具包,例如,Qt、GTK、MFC和Swing等。
3、python可以用于Internet腳本。Python提供了標準Internet模塊,使Python能夠廣泛地在多種網絡任務中發揮作用,無論是在服務器端還是在客戶端都是如此。而且網絡上還可以獲得很多使用Python進行Internet編程的第三方工具此外,Python涌現了許多Web開發工具包,例如,Django、TurboGears、Pylons、Zope和WebWare,使Python能夠快速構建功能完善和高質量的網站。
4、python可以用于組件集成。在介紹Python作為控制語言時,曾涉及它的組件集成的角色。Python可以通過C/C++系統進行擴展,并能夠嵌套C/C++系統的特性,使其能夠作為一種靈活的粘合語言,腳本化處理其他系統和組件的行為。
例如,將一個C庫集成到Python中,能夠利用Python進行測試并調用庫中的其他組件;將Python嵌入到產品中,在不需要重新編譯整個產品或分發源代碼的情況下,能夠進行產品的單獨定制。
5、python能用于數據庫編程。對于傳統的數據庫需求,Python提供了對所有主流關系數據庫系統的接口,Python定義了一種通過Python腳本存取SQL數據庫系統的可移植的數據庫API,這個API對于各種底層應用的數據庫系統都是統一的。
所以一個寫給自由軟件MySQL 系統的腳本在很大程度上不需改變就可以工作在其他系統上(例如,Oracle )-- 你僅需要將底層的廠商接口替換掉就可以實現。
6.python 可以用于快速原型。對于Python 程序來說,使用Python 或C編寫的組件看起來都是一樣的。正因為如此,我們可以在一開始利用Python 做系統原型,之后再將組件移植到C或C++ 這樣的編譯語言上。
7.python 可以用于數值計算和科學計算編程。我們之前提到過的NumPy 數值編程擴展包括很多高級工具,通過將Python 與出于速度考慮而使用編譯語言編寫的數值計算的常規代碼進行集成,其他一些數值計算工具為Python 提供了動畫、3D 可視化、并行處理等功能的支持。
8.python 可以用于游戲、圖像、人工智能、XML 、機器人等。 Python 的應用領域很多,遠比這里提到的多得多。 例如,可以利用pygame 系統使用Python 對圖形和游戲進行編程;用PIL 和其他的一些工具進行圖像處理;用PyRo 工具包進行機器人控制編程。
Python語言在未來的發展前景
Python語言在學術上非常受歡迎,不是計算機專業的人,很多都在學習Python。因為這個語言的前景是不可限量的,而且他的語法非常的簡單易懂,這就讓很多一些提及編程就恐慌的人減去了擔心,現在已經是一人應該掌握一門編程語言的時代,很多不是程序員的人們,利用自己寫的簡單的小程序,讓自己生活變得精彩起來,不管是因為興趣,還是其他,生活好像變得美好起來,有了一些追求。
發展前景一:Linux運維
Linux運維是必須而且一定要掌握Python語言,Python是一門非常NB的編程語言,它可以滿足Linux運維工程師的工作需求提升效率,總而提升自己的能力,運維工程師需要自己獨立開發一個完整的自動化系統時,這個時候才是真正價值的體現,才能證明自身的能力。
發展前景二:Python Web網站工程師
我們都知道Web一直都是不可忽視的存在,我們離不開網絡,離不開Web,利用Python的框架可以做網站,而且都是一些精美的前端界面,還有我們需要掌握一些數據的應用。
發展前景三:Python自動化測試
大家都知道,就是Python語言對測試的幫助是非常大的,自動化測試中Python語言的用途很廣,可以說Python太強大,掌握和熟悉自動化的流程,方法和我們總使用的各個模板,到現在為止,我了解的Python使用最多的應該是自動化測試。
發展前景四:數據分析
我們都知道現在來臨了大數據的時代,數據可以說明一切問題的原因,現在很多做數據分析的不是原來那么簡單,Python語言成為了做數據分析師的第一首選,它同時可以給工作帶來很大的效率。
發展前景五:人工智能
我們都知道谷歌制作出了的機器人戰勝了一個圍棋大師,這個就是目前剛出頭的人工智能,當然我們的人工智能時代還沒有到來,如果這天來了,生活和世界將會發生翻天覆地的變化,而且現在發展這么快,人工智能的時代不會太遠。
評論
查看更多