顯然,這是開發者關心的問題。如果你目前還沒有程序設計背景,接下來的這些章節可能會顯得有些令人費解:別擔心,在本書中我們將會對這些內容逐一做出詳細解釋。那么對于開發者來說,這將是對Python一些最優的技術特性的快速介紹。
面向對象
從根本上講,Python是一種面向對象的語言。它的類模塊支持多態、操作符重載和多重繼承等高級概念,并且以Python特有的簡潔的語法和類型,OOP十分易于使用。事實上,即使你不懂這些術語,仍會發現學習Python比學習其他OOP語言要容易得多。
除了作為一種強大的代碼構建和重用手段以外,Python的OOP特性使它成為面向對象系統語言如C++和Java的理想腳本工具。例如,通過適當的粘接代碼,Python程序可以對C++、Java和C#的類進行子類的定制。
OOP是Python的一個選擇而已,這一點非常重要。不必強迫自己立馬成為一個面向對象高手,你同樣可以繼續深入學習。就像C++一樣,Python既支持面向對象編程也支持面向過程編程的模式。如果條件允許的話,其面向對象的工具即刻生效。這對處于預先設計階段的策略開發模式十分有用。
免費
Python的使用和分發是完全免費的。就像其他的開源軟件一樣,例如,Tcl、Perl、Linux和Apache。你可以從Internet上免費獲得Python系統的源代碼。復制Python,將其嵌入你的系統或者隨產品一起發布都沒有任何限制。實際上,如果你愿意的話,甚至可以銷售它的源代碼。
但請別誤會:"免費"并不代表"無支持"。恰恰相反,Python的在線社區對用戶需求的響應和商業軟件一樣快。而且,由于Python完全開放源代碼,提高了開發者的實力,并產生了一個很大的專家團隊。盡管學習研究或改變一個程序語言的實現并不是對每一個人來說都那么有趣,但是當你知道還有源代碼作為最終的幫助和無盡的文檔資源是多么的令人欣慰。你不需要去依賴商業廠商。
Python的開發是由社區驅動的,是Internet大范圍的協同合作努力的結果。這個團體包括Python的創始者GuidovanRossum:Python社區內公認的"終身的慈善獨裁者"[BenevolentDictatorforLife(BDFL)]。Python語言的改變必須遵循一套規范的有約束力的程序(稱作PEP流程),并需要經過規范的測試系統和BDFL進行徹底檢查。值得慶幸的是,正是這樣使得Python相對于其他語言可以保守地持續改進。
可移植
Python的標準實現是由可移植的ANSIC編寫的,可以在目前所有的主流平臺上編譯和運行。例如,如今從PDA到超級計算機,到處可以見到Python在運行。Python可以在下列平臺上運行(這里只是部分列表):
Linux和UNIX系統。
微軟Windows和DOS(所有版本)。
MacOS(包括OSX和Classic)。
BeOS、OS/2、VMS和QNX。
實時操作系統,例如,VxWorks。
Cray超級計算機和IBM大型機。
運行PalmOS、PocketPC和Linux的PDA。
運行WindowsMobile和SymbianOS的移動電話。
游戲終端和iPod。
還有更多。
除了語言解釋器本身以外,Python發行時自帶的標準庫和模塊在實現上也都盡可能地考慮到了跨平臺的移植性。此外,Python程序自動編譯成可移植的字節碼,這些字節碼在已安裝兼容版本Python的平臺上運行的結果都是相同的。
這些意味著Python程序的核心語言和標準庫可以在Linux、Windows和其他帶有Python解釋器的平臺無差別的運行。大多數Python外圍接口都有平臺相關的擴展(例如,COM支持Windows),但是核心語言和庫在任何平臺都一樣。就像之前我們提到的那樣,Python還包含了一個叫做Tkinter的TkGUI工具包,它可以使Python程序實現功能完整的無需做任何修改即可在所有主流GUI平臺運行的用戶圖形界面。
功能強大
從特性的觀點來看,Python是一個混合體。它豐富的工具集使它介于傳統的腳本語言(例如,Tcl、Scheme和Perl)和系統語言(例如,C、C++和Java)之間。Python提供了所有腳本語言的簡單和易用性,并且具有在編譯語言中才能找到的高級軟件工程工具。不像其他腳本語言,這種結合使Python在長期大型的開發項目中十分有用。下面是一些Python工具箱中的工具簡介。
動態類型Python在運行過程中隨時跟蹤對象的種類,不需要代碼中關于復雜的類型和大小的聲明。事實上,你將在第6章中看到,Python中沒有類型或變量聲明這回事。因為Python代碼不是約束數據的類型,它往往自動地應用了一種廣義上的對象。
自動內存管理Python自動進行對象分配,當對象不再使用時將自動撤銷對象("垃圾回收"),當需要時自動擴展或收縮。Python能夠代替你進行底層的內存管理。
大型程序支持為了能夠建立更大規模的系統,Python包含了模塊、類和異常等工具。這些工具允許你組織系統為組件,使用OOP重用并定制代碼,并以一種優雅的方式處理事件和錯誤。
內置對象類型Python提供了常用的數據結構作為語言的基本組成部分。例如,列表(list)、字典(dictionary)、字符串(string)。我們將會看到,它們靈活并易于使用。例如,內置對象可以根據需求擴展或收縮,可以任意地組織復雜的信息等。
內置工具為了對以上對象類型進行處理,Python自帶了許多強大的標準操作,包括合并(concatenation)、分片(slice)、排序(sort)和映射(mapping)等。
庫工具為了完成更多特定的任務,Python預置了許多預編碼的庫工具,從正則表達式匹配到網絡都支持。Python的庫工具在很多應用級的操作中發揮作用。
第三方工具由于Python是開放源代碼的,它鼓勵開發者提供Python內置工具之外的預編碼工具。從網絡上,可以找到COM、圖像處理、CORBAORB、XML、數據庫等很多免費的支持工具。
除了這一系列的Python工具外,Python保持了相當簡潔的語法和設計。綜合這一切得到的就是一個具有腳本語言所有可用性的強大編程工具。
可混合
Python程序可以以多種方式輕易地與其他語言編寫的組件"粘接"在一起。例如,Python的C語言API可以幫助Python程序靈活地調用C程序。這意味著可以根據需要給Python程序添加功能,或者在其他環境系統中使用Python。例如,將Python與C或者C++寫成的庫文件混合起來,使Python成為一個前端語言和定制工具。就像之前我們所提到過的那樣,這使Python成為一個很好的快速原型工具;首先出于開發速度的考慮,系統可以先使用Python實現,之后轉移至C,根據不同時期性能的需要逐步實現系統。
使用簡單
運行Python程序,只需要簡單地鍵入Python程序并運行就可以了。不需要其他語言(例如,C或C++)所必須的編譯和鏈接等中間步驟。Python可立即執行程序,這形成了一種交互式編程體驗和不同情況下快速調整的能力,往往在修改代碼后能立即看到程序改變后的效果。
當然,開發周期短僅僅是Python易用性的一方面的體現。Python提供了簡潔的語法和強大的內置工具。實際上,Python曾有種說法叫做"可執行的偽代碼"。由于它減少了其他工具常見的復雜性,當實現相同的功能時,用Python程序比采用C、C++和Java編寫的程序更為簡單、小巧,也更靈活。
以上內容為大家介紹了python有哪些技術上的優點,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/