講述Python編程語言的可操作性
Python編程語言為什么會如此迅速的成為編程語言中的佼佼者?這個問題問的好,這全要看Python編程語言在使用中的優(yōu)點。只有這樣才能;更好的理解這門編程語言??赐曛蟮奈恼履銜兴鶈l(fā)。
簡單————Python編程語言是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!Python的這種偽代碼本質(zhì)是它最大的優(yōu)點之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身?! ?/P>
易學————就如同你即將看到的一樣,Python極其容易上手。前面已經(jīng)提到了,Python有極其簡單的語法?! ?/P>
免費、開源————Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。這是為什么Python編程語言如此優(yōu)秀的原因之是由一群希望看到一個更加優(yōu)秀的Python的人創(chuàng)造并經(jīng)常改進著的?! ?/P>
高層語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細節(jié)。
可移植性————由于它的開源本質(zhì),Python編程語言已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有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!#t#
解釋性————這一點需要一些解釋。一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復制到內(nèi)存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼 運行 程序。在計算機內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉(zhuǎn)載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易于移植?! ?/P>
面向?qū)ο蟆狿ython編程語言既支持面向過程的編程也支持面向?qū)ο蟮木幊獭T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊?。 ?/P>
可擴展性————如果你需要你的一段關(guān)鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們?! ?/P>
可嵌入性————你可以把Python編程語言嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能?! ?/P>
豐富的庫————Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質(zhì)量的庫,如wxPython、Twisted和Python圖像庫等等?! ?/P>
概括————Python編程語言確實是一種十分精彩又強大的語言。它合理地結(jié)合了高性能與使得編寫程序簡單有趣的特色。
1. 強制縮進 這也許不應(yīng)該被稱為局限,但是它用縮進來區(qū)分語句關(guān)系的方式還是給很多初學者帶來了困惑。即便是很有經(jīng)驗的Python程序員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,而這是用肉眼無法分別的?! ?/P>
2. 單行語句和命令行輸出問題 很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序?qū)懭胍粋€.py文件。(對很多用戶而言這也不算是限制)
NO.1 運行速度(雖然比java快,但沒法和需要編譯的語言相比)。有速度要求的話,用C++改寫關(guān)鍵部分吧?! ?/P>
NO.2 國內(nèi)市場較?。▏鴥?nèi)以python編程語言來做主要開發(fā)的,目前只有一些 web2.0公司)。但時間推移,目前很多國內(nèi)軟件公司,尤其是游戲公司,也開始規(guī)模使用他?! ?/P>
No.3 中文資料匱乏(好的python中文資料屈指可數(shù))。托社區(qū)的福,有幾本優(yōu)秀的教材已經(jīng)被翻譯了,但入門級教材多,高級內(nèi)容還是只能看英語版。
NO.4 構(gòu)架選擇太多(沒有像C#這樣的官方.net構(gòu)架,也沒有像ruby由于歷史較短,構(gòu)架開發(fā)的相對集中。Ruby on Rails 構(gòu)架開發(fā)中小型web程序天下無敵)。不過這也從另一個側(cè)面說明,python編程語言比較優(yōu)秀,吸引的人才多,項目也多。