自20世紀90年代初Python語言誕生至今,它被逐漸廣泛應用于系統管理任務的處理和Web編程。但是,你真的了解這門語言嗎?
1.Python的發展歷程
1989年圣誕節期間,荷蘭人吉多·范羅蘇姆(GuidovanRossum)為了打發圣誕節的無趣,開發了一個新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《MontyPython'sFlyingCircus》。
可以說,Python是從ABC發展起來,主要受到了Modula-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。并且結合了Unixshell和C的習慣。
Python已經成為最受歡迎的程序設計語言之一。自從2004年以后,python的使用率呈線性增長。Python2于2000年10月16日發布,穩定版本是Python2.7。Python3于2008年12月3日發布,不完全兼容Python2。它被TIOBE編程語言排行榜評為2010年度語言。時隔幾年,再度被TIOBE編程語言排行榜評為2018年度語言。
由于Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經采用Python來教授程序設計課程。眾多開源的科學計算軟件包都提供了Python的調用接口,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫學圖像處理庫ITK。
而Python專用的科學計算擴展庫就更多了,例如如下3個十分經典的科學計算擴展庫:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數組處理、數值運算以及繪圖功能。
因此Python語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、制作圖表,甚至開發科學計算應用程序。
2.Python的風格設計
Python的作者有意設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。其中很重要的一項就是Python的縮進規則。
一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對花括號{}來明確的定出模塊的邊界的,與字符的位置毫無關系)。
這一點曾經引起過爭議。因為自從C這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。
3.Python已成為世界第一語言
Python僅憑微弱優勢擊敗C語言而名列榜首。為什么Python能繼續獲得程序員的青睞?
首先,Python現在被列為嵌入式語言。以前,編寫嵌入式應用程序高度傾向于使用編譯語言,以避免在處理能力和內存有限的機器上動態評估代碼的開銷。但是,雖然摩爾定律可能正在逐漸失效,但它尚未完全無用。
許多現代微控制器現在已擁有足夠的能力來托管Python解釋器。以這種方式使用Python的一個優勢是在某些應用程序中通過交互式提示播放附加硬件或動態重新加載腳本非常方便。成長起來進入一個新領域,只會有助于提升Python的受歡迎程度。
其次,R語言的排名逐年小幅下滑,反面襯托了Python越來越受歡迎。R是專門用于處理統計數據和大數據的語言。隨著對大數據集的興趣越來越多地轉向在機器學習中的應用,同時用于統計和機器學習的高質量Python庫的存在使得靈活的Python比更專業的R更具吸引力。