發布時間:2020-04-17 16:41:31來源:尚訓網綜合
Python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,而編寫的一門編程語言。
Python崇尚優雅、明確、簡單,是一門優秀,并被廣泛使用的編程語言。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是因為他是一個叫Monty Python的喜劇團體的愛好者。
近年來,隨著大數據和人工智能技術的發展,Python爆發出蓬勃的生命力,受到了越來越多的歡迎和重視。小到自動化腳本輔助日常工作,中到數據統計分析與可視化,大到深度學習、系統運維,無論是對理工科,還是文科生,Python都是一把不可多得的利器,非常值得學習和使用。
最新的TIOBE編程語言排行榜,Python今年的排名超過了去年,獲得了第三名的好成績。由圖可見,Python的流行度呈上升趨勢,反映出Python應用越來越廣泛并且也逐漸得到業內的認可!
Python的應用
Python可以應用于眾多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等眾多領域。目前業內幾乎所有大中型互聯網企業都在使用Python,來幾個鮮活的應用案例,給大家一個直觀的印象:
谷歌:在Google App Engine、Google earth、網絡爬蟲等項目大量使用了Python;NASA:美國航天局(NASA)大量使用Python進行數據分析和運算;眾多大型網站:Youtube,Dropbox,Facebook,豆瓣,知乎等大量基礎庫和功能通過Python開發;Redhat:yum包管理工具基于Python開發;深度學習方面:TensorFlow、PyTorch、Keras等著名的深度學習庫都是基于Python;GitHub:在全球最大的代碼托管平臺和開發者社區GitHub網站,編程語言熱度Python長期排在前三;
Python的優缺點
Python語言具有如下多方面的優點:
“優雅”、“明確”、“簡單”
引用一個說法,Python的哲學是就是簡單優雅,盡量寫容易看明白的代碼,盡量寫少的代碼。如此定位,使得Python對編程新手十分友好,初學者容易入門,學習成本更低。
功能強大
Python作為一種高級語言,具有豐富的第三方庫,覆蓋了數值計算(numpy)、科學繪圖(matplotlib)、Web開發、網絡爬蟲、應用程序界面GUI、數據庫等大量內容。你能想到的幾乎所有工作都可以用Python實現。
開發效率高
由于Python社區提供大量功能各異的庫,因此開發者無需事必躬親,遇到主流的功能需求時可以直接調用,在基礎庫的基礎上施展拳腳,可以節省你很多功力和時間成本,大大降低開發周期。同樣的功能,C語言要花1天寫1000行代碼,而Python可能只需1-2個小時寫20行就可以搞定。
無需關注底層細節
Python作為一種高級開發語言,在編程時無需關注底層細節(如內存管理等)。
可移植性
Python可以在多種主流的平臺(Windows、Linux、Mac)上運行,大部分情況下無需考慮所用功能的平臺依賴性,代碼在無需修改的前提下運行在多種系統平臺上。
一個硬幣總有兩面,Python有缺點嗎?答案是肯定的,總結如下:
運行速度慢
因為Python是一種高級開發語言,不像C語言一樣可以深入底層硬件最大程度上挖掘榨取硬件的性能。另一方面,Python是解釋型語言,代碼在執行時會一行一行地翻譯成CPU能理解的機器碼。而C程序是運行前直接編譯成CPU能執行的機器碼。因此它的運行速度要慢于C語言。
但需要注意的是,這種慢對于不需要追求硬件高性能的應用場合來講根本不是問題,因為它們比較的數量級根本不是用戶能直觀感受到的!例如開發一個下載MP3的網絡應用程序,C程序的運行時間需要0.001秒,而Python程序的運行時間需要0.05秒,慢了50倍,但由于網絡更慢,需要等待1秒,用戶體驗幾乎沒有差別。此外,Python的高開發效率極大地彌補了運行速度慢的弱點。
不能加密
Python的開源性質,既是優點又是缺點。Python沒有編譯打包的過程,發布程序時我們必須公開源代碼!這個缺點僅限于你想單純靠賣開發出來的軟件產品掙錢的時候。但在這個開發互聯的時代,不靠賣產品本身來賺錢的商業模式越來越主流了,所以這也不是根本問題。
Python與其他編程語言對比
C 和 Python、Java、C#等
C語言:代碼編譯得到 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工作
其他語言:代碼編譯得到 字節碼 ,虛擬機執行字節碼并轉換成機器碼再后在處理器上執行
Python 和 C Python這門語言是由C開發而來
對于使用:Python的類庫齊全并且使用簡潔,如果要實現同樣的功能,Python 10行代碼可以解決,C可能就需要100行甚至更多。
對于速度:Python的運行速度相較與C,絕逼是慢了
Python 和 Java、C#等
對于使用:Linux原裝Python,其他語言沒有;以上幾門語言都有非常豐富的類庫支持
對于速度:Python在速度上可能稍顯遜色
所以,Python和其他語言沒有什么本質區別,其他區別在于:擅長某領域、人才豐富、先入為主。