你為什麼選擇Python?4000名用戶提到了這些原因

導讀:如今有眾多可選的編程語言,這往往是入門者首先要面對的問題。開發工具的選擇有時取決於特定的約束條件或者個人喜好。

過去的16年中對近260個團體組織和4000名學生的Python培訓過程,讓我見證了人們做出這一選擇的一些共性原因。大部分Python用戶都提到了下面這些原因……

作者:馬克·盧茨(Mark Lutz)

如需轉載請聯繫華章科技

你為什麼選擇Python?4000名用戶提到了這些原因

01 軟件質量

對於很多人而言,Python更注重可讀性、一致性和軟件質量,這使得它區別於腳本語言世界中的許多其他工具。

Python代碼在設計之初就具有良好的可讀性,因此具備了比傳統腳本語言更優秀的可重用性和可維護性。即使代碼並非你親手所寫,Python的一致性也保證其易於理解。

此外,Python支持軟件開發的高級重用機制。例如面向對象(object-oriented,OO)以及函數式編程(function programming)。

從設計之初,Python就秉承了一種獨特的簡潔而極具可讀性的語法,以及一種高度一致的編程模型。

正如過去某次Python會議標語所宣稱的那樣,Python似乎是“與人腦思維直覺吻合”,也就是說,Python的語言特性以一種一致和受限的方式進行交互,並自然地遵守一套緊湊的核心概念。這使得Python易於學習、理解和記憶。

事實上,Python程序員在閱讀和編寫代碼時無須經常查閱手冊。Python是一個設計風格始終如一的開發平臺,可以保證開發出具有一致性的代碼。

從哲學理念上講,Python採取了一種所謂極簡主義的設計理念。這意味著儘管實現某一編程任務通常有多種方法,往往只有一種方法是顯而易見的,還有一些不是那麼明顯的方法,而且貫穿整門語言都採用這一套緊湊的交互形式。

此外,Python並不會為你做任意的選擇;當交互模稜兩可時,使用簡潔明瞭的解決辦法要優於“魔法”般的方式。在Python的思維方式中,明確勝於隱晦,簡單勝於複雜。

除了以上的設計宗旨,Python還包含模塊化、OOP在內的一些工具來自然地提升程序的可重用性。而且由於Python致力於提升編碼質量,Python程序員也都自然而然地秉承了這一理念。

你為什麼選擇Python?4000名用戶提到了這些原因

02 開發者生產效率

相對於C、C++和Java等編譯/靜態類型語言,Python的開發者效率提高了數倍。

Python代碼的長度往往只有C++或Java代碼的1/5~1/3。這就意味著可以錄入更少的代碼,調試更少的代碼,並在開發完成之後維護更少的代碼。並且Python程序可以立即運行,而無需傳統編譯/靜態語言所必需的編譯及鏈接等步驟,進一步提高了程序員的效率。

20世紀90年代中後期,互聯網帶來的信息爆炸使有限的程序員與日益繁多的軟件開發項目之間的矛盾愈發嚴重;開發者開發系統的速度常常要求趕上互聯網演變的速度。在這一浪潮過後的公司裁員和經濟衰退時期,產業圖景又悄然改變。公司開始要求更少的程序員來完成相同的開發任務。

無論在以上哪種背景下,Python作為開發工具均以付出更少的精力完成更多的任務而脫穎而出。

Python致力於開發速度的最優化:其簡潔的語法、動態類型、無須編譯、內置工具包等特性使程序員能夠快速完成項目開發,而使用其他開發語言則需要幾倍的時間。其最終結果就是,相對於傳統的語言,Python把開發者效率提高了數倍。

不論所處的時代是欣欣向榮還是蕭條而不景氣,也無論軟件行業未來的走勢是起還是落,這都是一件值得慶幸的事。

你為什麼選擇Python?4000名用戶提到了這些原因

03 程序的可移植性

絕大多數的Python程序不做任何改變即可在所有主流計算機平臺上運行。例如,在Linux和Windows之間移植Python代碼,只需簡單地在機器間複製代碼即可。

此外,Python提供了多種可選的代碼庫,用於編寫包括用戶圖形界面、數據庫接入、基於Web的系統等在內的各種程序。其中甚至包括程序啟動和文件夾處理這樣的操作系統級接口,也成為Python可移植性的一部分。

04 標準庫的支持

Python內置了眾多預構建並可移植的功能模塊,這些功能模塊叫作標準庫(standard library)。標準庫支持一系列應用級的編程任務,涵蓋了從字符模式到網絡腳本編程的匹配等方面。

此外,Python可通過自行開發的庫或眾多第三方的應用來支持軟件的擴展。Python的第三方支持工具包括網站搭建、數值計算、串口讀寫、遊戲開發等各個方面(參考接下來的樣例)。例如,NumPy是一個免費的,與MATLAB一樣功能強大的數值計算開發平臺。

你為什麼選擇Python?4000名用戶提到了這些原因

05 組件集成

Python腳本可通過多種集成機制輕鬆地與應用程序的其他部分進行通信。這種集成使Python成為實現產品定製和擴展的工具。

目前,Python代碼可以調用C和C++的庫,可以被C和C++的程序調用,可以與Java和.NET組件集成,可以與COM和Silverlight等框架進行通信,可以通過串行端口與設備進行連接,並且可以通過SOAP、XML-RPC和CORBA等接口與網絡進行交互。Python絕不僅僅是一個孤立的工具。

06 享受樂趣

Python的易用性和強大內置工具使編程成為一種樂趣,而不是瑣碎的重複勞動。這是一個難以言表的優點,將對開發效率的提升有很重要的幫助。

關於作者:Mark Lutz是一位世界級的Python培訓講師。他是Python暢銷書籍的作者,同時從1992年起就成為Python社區的引領者,有著30餘年的軟件開發經驗。

本文摘編自《Python學習手冊》(原書第5版),經出版方授權發佈。

你為什麼選擇Python?4000名用戶提到了這些原因

延伸閱讀《Python學習手冊》(原書第5版)

推薦語:本書將幫助你使用Python編寫出高質量、高效的並且易於與其他語言和工具集成的代碼。本書根據Python專家Mark Lutz的著名培訓課程編寫而成,是易於掌握和自學的Python教程。

相關推薦

推薦中...