Python為啥這麼牛?跟其他語言相比究竟有什麼優勢?

大資料v發表於2018-06-16

640?wx_fmt=gif

導讀:選擇要學習的技術和選擇要上的大學一樣重要,如果選錯了,你將來不僅得不到自己喜歡的高薪工作,反而會弄得一堆麻煩。如果你開啟了這篇文章,說明你已經考慮選擇Python開發作為你以後的職業了。


在這篇文章裡,我們會詳細找出Python和其他語言相比的優勢。我們會指出Python與Java, Ruby, PHP 和 C#的差異,幫你瞭解你所需要的技術。但在開始之前,我們先看下Python能做什麼,誰使用它,為什麼使用它。


為什麼用Python,它能用在哪兒,能做什麼呢?


Python在約40年前出現以來,已經有數以千計基於這項技術的網站和軟體專案,Python因其獨有的特點從眾多開發語言中脫穎而出,深受世界各地的開發者喜愛。



01 Python有什麼優點呢?


下面,我們列舉了Python最顯著的一面。所有這些優點使它非常流行,也正因於此,眾多跨國公司選擇了Python作為他們的程式語言,關於這些公司的更多資訊,您可以閱讀我們之前的文章。


640?wx_fmt=png


1. 簡單


我們可以說Python是簡約的語言,非常易於讀寫,遇到問題時,程式設計師可以把更多的注意力放在問題本身上,而不用花費太多精力在程式語言、語法上。


2. 免費


Python是免費開源的。這意味著程式設計師不用花錢,就可以共享、複製和交換它,這也幫助Python形成了強壯的社群,使用它更加完善,技術發展更快。專業人士可以在社群和初學者分享他們的知識和經驗。


找到你可以使用的開源庫會得到什麼好處?削減一半的專案支出!


3. 相容性


Python相容眾多平臺,所以開發者不會遇到使用其他語言時常會遇到的困擾。


4. 物件導向


Python既支援程式導向,也支援物件導向程式設計。在程式導向程式設計中,程式設計師複用程式碼,在物件導向程式設計中,使用基於資料和函式的物件。儘管物件導向的程式語言通常十分複雜,Python卻設法保持簡潔。


5. 庫


Python社群創造了一大堆各種各樣的Python庫。在他們的幫助下,你可以管理文件,執行單元測試、資料庫、web瀏覽器、電子郵件、密碼學、圖形使用者介面和更多的東西。所有東西包括在標準庫,然而,除了它,還有很多其他的庫。



02 Python語言的用途


多年來,Python在各種流行程式語言中一直排名靠前。它幾乎可以適用任何開發,它旨在提高程式設計師的開發效率而不在於他們編的程式碼。Python適用於網站、桌面應用開發,自動化指令碼,複雜計算系統,科學計算,生命支援管理系統,物聯網,遊戲,機器人,自然語言處理等很多方面。而且,既使對於那些從沒有開發經驗的人來講,Python的程式碼也是簡潔易懂的。由於Python程式程式碼簡單,所以和與其他程式語言相比,後期的程式維護更容易,更舒心。從商業角度來看,需要的成本降低,程式設計師的效率提高



03 誰使用Python


Python開發人員社群不斷狀大,支援庫持續增多,使Python成為世界上功能最豐富的程式語言之一,可以適用於任何專案開發。但我們仍要指出,Python在科學領域非常流行,特別是在資料探勘和機器學習等方面。為了全面理解Python相對於其他語言的優勢,我們將把Python和最流行的WEB技術做下比較,先從PHP開始。



04 Python和PHP


從開發的角度來看,PHP是面向WEB的語言。PHP應用程式更像是一組單獨的指令碼,甚至只是一個單獨入口。而Python是多用途語言,也可以用於WEB開發,基於Python的WEB應用是載入到記憶體的完整應用,有自己的內容宣告,儲存所有的查詢和請求。選擇Python還是PHP進行web應用開發需要注意以下幾點:


640?wx_fmt=png

▲Python和PHP web開發的比較


1. 通用性


當今時代,趨勢和流行非常重要,一些客戶和產品負責人只想使用最流行最熱門的技術來開發他們的專案,造成了技術精湛的開發人員卻完全沒有客戶和工作的情況出現。所以在開始學習任何東西前,要確保你要學的技術在未來1、5或10年內仍保持流行,不會被遺忘。


不過,你大可不必擔心,因為PHP和Python都屬於世界上最流行的程式語言。PHP用於構建Wikipedia, Yahoo, WordPress, Friendster, MailChimp, Flickr 等許多“巨頭”,但不要以為Python沒什麼用,它也用來構建了YouTube, Instagram,桌面版的Dropbox, Reddit, Bitbucket, Quora, Spotify, Pinterest, Facebook的內部服務,以及 PayPal系統的一部分


2. 框架


當你選擇一項技術的時候,工具的多樣性也是極其重要的,它會使你的工作簡單、方便。如果一個技術為不同的任務提供了多種工具,程式設計師就不必每件事都要從頭開始了。PHP最流行的框架是Laravel, Symfony, CodeIgniter, Yii 1 and 2,Phalcon 和其他一些,這些工具能幫你建立功能強大而整潔的應用程式,而Python卻沒有這麼多引以為豪的框架,最好用的是Django 和 Flask,但是,我們可以向你保證,隨著Python社群的成長,這種情況會很快改變。


3. 學習


這通常是學生第一個想要知道的問題,學習教育的過程越容易,意味著開始工作和賺錢越快。


Python當然是這類的贏家,它的語法容易,簡單易學,而PHP卻不是這樣。掌握PHP需要花費很多的時間和努力。Python允許你犯些小錯但不會破壞程式碼,給新手一些信心繼續學習。從新手的角度來看,想學一些更容易、更靈活的技術,而Python正是這樣的技術。你可以用Python建立安全的應用程式,但使用用PHP卻需要額外的工具。不過不要忘記,PHP是專門用於WEB開發的,也的確用在這方面較多。



05 Java和Python哪個更好?


一些開發人員聲稱Python比Java更有效率。但這應該先弄清Python和Java之間的區別是什麼?


640?wx_fmt=png

▲Java和Python的區別


Java是一種嚴格的型別語言,這意味著必須顯式宣告變數名。相比之下,動態型別的Python則不需要宣告變數。在程式語言上有許多關於動態和靜態型別的爭論,但有一點應該注意:Python是一種語法簡單的功能強大的語言,能夠通過編寫指令碼就提供優秀的解決方案,並能夠快捷地部署在各個領域。


Java可以建立跨平臺的應用程式,而Python幾乎相容當前所有作業系統。對新手來講, Python比Javaf更容易上手,而且程式碼易讀性強,但是如果你想你的程式碼可以在任何地方都能執行的話,那麼還是選擇Java吧。不過Java的可移植性也是有代價的,使用Java你需要購買更大的機器,消耗更多的記憶體,並且程式更加難以開發。


Java比Python更復雜,沒有技術背景的人學起來並非易事。



06 Python與c#


現在再來和看下c#。它們的技術差異很大,但都適用於web開發。


640?wx_fmt=png

▲Python對c#的比較


簡而言之,Python原本就被設計的類似用英語表達一樣,只要你使用合適的變數名稱,許多表示式就很容易讀懂。另外,由於Python語法簡單,沒有像句法括號和大量的修飾詞,各種類C的構造和不同的初始化變數,所以Python寫的程式碼易讀易學。


同時,C#從C++和Java遺傳了很多原始表達的類C語法,更重要的是,C#語法使我們必須遵循一定的規則來編寫自已的方法或是繼承類,伴隨而來的是另一大串修飾詞,還有一點不能忘記的是要把程式碼段放在括號內。而Python只用SHIFTS鍵就可以讓程式碼看上去很整潔。


至於編寫指令碼方面,值得一提的是Python的指令碼是真正的指令碼,能夠被直譯器執行。你可以用任何編輯器開啟它,修改後就可以立即執行。這在手邊沒有IDE或編譯器的時候優勢十分明顯。而且使用Python更容易編寫跨平臺的指令碼,甚至都不需要重新編譯。


但是,我們要指出Python的一個不足,就是需要在機器上安裝指令碼直譯器,至少要在一個包或可執行檔案裡打包上一個直譯器,從而使指令碼的大小從幾KB增加到十幾M,不過對於現代計算機來說,十幾兆的空間需求基本可以忽略不計,所以這也不是什麼大問題。


而C#需要IDE來編寫程式,C#的一個好處是,當你編寫基於WINDOWS平臺的指令碼時,它有強大的各類WINDOWS系統元件支援。例如,登錄檔、WMI、網路等內建工具。C#可以使用WINFORMS,你需要的時候可以很容易地建立圖形化介面。


沒法說Python和C#哪個更好,Python比C#更容易學,開源庫更多,但C#的標準庫比Python的更好,其效能更高。



07 Ruby和Python的區別


就第一語言而言,Ruby和Python是最受歡迎的。Ruby是非常流行的構建網站技術,其中最著名的是Twitter(早期版本), Basecamp, Github, Airbnb, Slideshare, Groupon。


640?wx_fmt=png

▲Ruby和Python


Ruby和Python都是物件導向的語言,都是動態和靈活的。這些技術的主要區別在於他們解決問題的方式。Ruby提供了不同的方法而Python通常只有一個。這個事實既是優勢也劣勢。


最流行的Ruby框架是Ruby on rails。它和Django非常類似,因為這兩個框架都是為了解決相同的任務。如果我們比較這些技術的社群,我們會發現他們幾乎是一樣的,然而,形成這些團體的人是不同的。Python在資料科學和數學方面很受歡迎,所以在這裡你可以找到很多的學者和教授。


記住,當你開發web應用程式時,可以用RoR實現,也可以用Django,兩者都是快速高效的。如果開發偏重於大量計算和資料處理的應用,應該選擇Python。


任何技術成功的祕密在於圍繞它所構建的社群,不同人群協同工作來確定其未來的發展演變,Python的支持者是世界上規模最大和構成最多樣化的一個團隊,不僅有數以千計的個人開發者,而且還有諸如谷歌, Yandex, Dropbox, Mozilla, 微軟(在Visual Studio中使用),英特爾等許多巨頭公司,他們和其他許多公司一起,已經用Python建立了世界上最大的和最受歡迎的專案。


今天我們提供了大量資訊供您參考,現代程式語言的多樣性給您提供了更多的選擇,您今天做出的選擇將關係到您未來的職業,我們只能建議您要對自己想做的專案有清晰的認知,從而選擇最合適的技術,如果有任何問題請聯絡我們,記得訂閱我們的部落格。


譯者:明心見性

來源:Python部落

英文原文:

https://www.cleveroad.com/blog/python-vs-other-programming-languages


推薦閱讀


2018世界盃資料清單:真球迷看球必備,偽球迷速成指南(附完整賽程)

端午出行大資料:去這幾個地方,你就只能看人人人……

各地高考“難度係數”告訴你,天津戶口為什麼值得搶

關於Python的一切:2018年,你讀這8本書就夠了



Q: Python還有哪些好處?

歡迎留言與大家分享

覺得不錯,請把這篇文章分享給你的朋友

轉載 / 投稿請聯絡:baiyu@hzbook.com

更多精彩,請在後臺點選“歷史文章”檢視

640?wx_fmt=jpeg

相關文章