-
1 # 任由
-
2 # 小胖00003
每個語言都有它的優勢和缺點的。以下幾點只是我個人對python優缺點的一些淺見,望輕拍。
首先講下python的一些缺點吧。
1.程式碼執行慢,跟靜態語言肯定是不能比執行速度的,即使在指令碼語言中也是快墊底的了,還有全域性鎖的問題導致虛假的多執行緒(指在標準的cython實現下),但這個也可以透過pypy實現來彌補。
2. 程式碼塊必須得透過縮排完成,我是覺得這個不太好的,因為偶然誤按了一個空格可能導致程式碼就執行不了了。但也沒到討厭的程度,只能說能適應。
3. python2跟python3不相容,例如python3中字串是unicode,python2中是某個編碼的位元組串,還有一些是類庫的調整,例如urlparse。如果要升級版本的話,舊的程式碼調整過來也可能需要一定工作量。
4. 可能是年代久遠的原因,python中相當一部分的的類庫都是直接以模組.函式的方式使用的,例如python2中的os.path模組(python3.6中已經有了面向物件的Path型別了),對於用慣了C#和java這種完全面向物件語言的朋友來說,會有些人覺得它的api設計有點low了,但是這就見仁見智了,C語言面向過程的函式程式設計方式在linux設計中不照好牛逼轟轟麼?
其它的不足暫略不寫。
然後再說一下它的優點吧
1. 庫賊多,不是一般的多,無論是標準庫還是第三方的庫,你幾乎不必再造輪子,只要google一就好了。
2. 爬蟲工具,估計好多朋友最開始知道python的時候就是從爬蟲這裡來的。python有很出名的爬蟲框架,例如scrapy和pyspider。
3. 作為命令列的替代工具和運維工具等。
4. 作為web開發工具,例如著名的django,flask,tornado等框架。
5. 作為自動化測化工具等,例如selenium
6. UI開發,例如pyqt,wxpython等
當然python最殺手級的領域就是資料分析和人工智慧了,近幾年python的大火少不了它們的功勞。numpy,pandas,tensorflow等重量級庫實在功不可抹。
回到題主的話,我列舉以上的眾多優點想表明的是python的瑕不掩瑜。作為一個全能語言,它很好地滿足了我們對程式語言的要求。程式碼足夠簡單,有強大的社群支援,適應於大部分領域,對於喜歡自己搗鼓各種小專案的朋友來說,可能沒必要為了做個簡單的web服務而學習java或者UI客戶端而專門學C#的wpf等,畢竟這些python也能做,還做得不賴,與其東學一點西學一些,還不如把一種語言用得得心應手。
回覆列表
Python
真的有那麼好嗎
今天超模君講的是4個關於Python程式語言的故事,來看看人工智慧時代爆發的Python。
超模君在這裡不會告訴你Python是“最好的程式語言”(無論什麼意思)。
我也不會說,要不下一個專案嘗試用Python,因為下一個專案來臨的時候,不清楚Python會不會還是最好的一個選擇。
言歸正傳,我們到底該不該選擇Python?
#1 如果想成為一名程式設計師?快點學會Python
作為一個計算機初級愛好者,據超模君這些年敲過的程式碼所反饋(是的,我的程式碼是有靈魂的),他們還是比較喜歡Python,因為Python乾淨利索,簡單直接。
Python編寫程式碼的速度非常的快,而且非常注重程式碼的可讀性,非常適合多人參與的專案。
它具備了比以前傳統的指令碼語言更好的可重用性,維護起來也很方便。與現在流行的程式語言Java、C、C++等相比較,同樣是完成一個功能,Python編寫的程式碼短小精幹,開發的效率是其它語言的好幾倍。
所以如果你想嘗試成為程式設計師,Python將會是一個重要的選擇。
#2 想要高薪嗎?成為一名Python程式設計師吧!
在由Indeed.com建立並由codementor.io釋出的2016年開發人員薪水研究中,發現Python開發人員的平均工資是107,000美元:
基於這項研究,Swift,Python,Ruby,C ++和Java將讓你賺更多的錢(PHP墊底)。
我們可以看到,Swift下面緊隨其後就是Python和Ruby:前五個中只有兩種指令碼語言。
而作為大資料時代,Python排名如此靠前,自然可以理解。
在未來,鑑於Python不僅是一種通用的程式語言,而且也是一門科學的程式語言,我們很快就會看到學習Python將會獲得更高的回報,掙得更多。
#3 Python是AI和機器學習的未來
Python程式語言目前正在推動科學程式設計普及,但原來的情況並非總是如此。
多年來,學者和私人研究人員一直使用MATLAB語言進行科學研究。
這一切都開始隨著Python數值計算引擎(如NumPy和SciPy)的釋出而改變,允許透過單個“import”語句後跟一個函式呼叫來完成複雜的計算。
雖慢但確實,Python開始接管作為計算機科學研究的首選語言。
Python是人工智慧的未來。
因為考慮到語言的靈活性,其速度以及提供的機器學習功能庫(如scikit-learn,Keras和TensorFlow),我們將繼續看到Python在機器學習領域佔據主導地位。
此時,在超模君心中毫無疑問:如果你對人工智慧或者大資料有那一丁點的興趣,你都應該學習一下Python。
#4 想學網路爬蟲、資料分析,卻不想成為專業碼農,那就就用Python吧
大資料與人工智慧時代的到來,讓越來越多的專業,除了本身專業知識的學習,也需要網路採集和資料分析的技能,因為資料儼然已成為價值評估的一種標準。
因為出行資料,滴滴知道你是一個愛爬山的人;
因為通訊資料,中國移動知道你是一個跟父母很親近的人;
因為購物資料,阿里巴巴知道你現在還是單身。
而這一切的結論的背後,可以基本上說是資料探勘的功勞。而作為一名非專業的銷售人員、金融人員,想做一次資料分析初體驗,Python無疑是最適合的入門語言。
為什麼這麼講呢?
相比較java、C++,Python似乎更適合非計算機的人學習資料分析、大資料和人工智慧。
因為Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程式就感覺像是在讀英語一樣,它使你能夠專注於解決問題而不是去搞明白語言本身。
除此之外,Python所擁有的標準庫更是金融、營銷類人群選擇它的理由。
它可以幫助處理各種工作,包括正則表示式、文件生成、單元測試、執行緒、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV檔案、密碼系統、GUI(圖形使用者介面)、Tk和其他與系統有關的操作。
這被稱作Python的“功能齊全”理念。
當你想開始嘗試做資料分析的時候,Python無疑會是一個很棒的選擇。