Python有什麼優勢和劣勢?

千年小白


前來發表下個人看法:


1. Python的優勢:學習入門快,輕量級,適合編程入門。python的庫很豐富,可以系統編程(特別是Linux),圖形處理(如PIL,Tkinter等圖形庫),數學處理(NumPy等),文本處理(re正則、SGML、XML等),數據庫編程(Gadfy模塊),網絡編程(很多模塊支持sockets,能夠快速開發分佈式應用,如Zope,Mnet),當然了,web編程這也是可以的,還有好多,有一個庫你可能感興趣hack庫,哈哈。用python寫個爬蟲軟件是很快的。對於引用場景,目前,可以用來開發web應用,運維使用的自動化腳本,桌面軟件,科學計算,像雲計算吶,數據分析吶,對了,還有人工智能等等,這些領域都有python的身影。


2. Python

的劣勢:說了那麼多優點,缺點也有一些,就像大家知道的一樣,運行效率慢,除了這個問題,還有就是,對多核處理器的支持不怎麼友好,因為Python是全局解釋器鎖(Global Interpreter Lock)的機制,當解釋器執行字節碼時,需要先申請這個鎖,防止多個線程同時執行python的字節碼。對於非IO密集型的應用在多核CUP上運行效率會大大降低,但也不用擔心,是有解決方案的,可以去了解下,哈哈哈。嗯,還有個問題,python是解釋型的原因,直接運行就完事了,那麼加密就很困難,就像javascript一樣,F12一下源碼什麼的分分鐘出現,b不過也可以做代碼混淆什麼的。


哦,補充一下,樓主想要從業python開發,這沒啥問題,但是呢,編程語言始終是工具,重要的是思想,編程思想,數據結構,基本的算法,還有設計模式,http協議等等這些內功心法,還有還有,最好再學下數據庫,現在的應用基本上都離不開數據庫這個東西了,比如MySQL呀(關係型),redis啊(非關係型)。所以,建議樓主,不管選擇什麼工具,用它能夠快速達到自己的目的就行了。


最後,要有信心相信自己,做開發,需要不斷學習,專研,發現樂趣,加油~


謝謝~



你眼中有光


python的優點:

簡單

強大

python缺點:

建議:

學它!

為什麼說python簡單且強大呢?我也學過C語言,VB,瞭解C++,Java,js發現還是python最友好。
1、首先從它的語法設計是簡潔優美的。沒有多餘的大括號,結束標誌符等繁雜的東西。讓人開起來一目瞭然(當然這是看久了的效果,剛開始我也看得不習慣)。當時別人說python優雅,我有點不理解,現在想想,好像是哦。

2、有豐富開源的庫。由於python是開源的,通過網絡很多高效強大的庫我們都可以輕鬆獲得。例如,圖像處理的openCV庫、科學計算的Numpy,數據庫Pandas,數據採集Scrapy。正是應為有這些庫,我們可以站在巨人肩膀上創造,小白也能輕鬆變大神。就像有了給你一輛車子,你就不用知道汽車的原理,學會駕駛就好。

Python被人說的最多的就是它的慢。Python 被認為速度最慢的語言之一,Python 運行完成類似的應用程序比另一種語言慢 2 倍至 10 倍時。它慢也是有原因的:

1、python是一門解析型編程語言。代碼由解釋器逐條解釋執行或每次執行都要先翻譯再運行,運行效率大大降低。就像吃火鍋一樣,python是要用時才把相應的“菜”放進鍋裡煮。

2、python智能化引起的。python是弱類型編程語言,使用變量不需要定義類型,為了支持動態類型,執行的時候要不斷的判斷數據類型,帶來很大的開銷

建議:

沒有一門編程語言是完美的,編程語言都是相通的。所以不要想著用一門編程語言解決所有問題,但是當你掌握其中一門編程語言,就能很快上手另一門。因為python簡單這一特點,就值得我們入手學它。當你很快的掌握了python,信心上了,想學另一門也是輕而易舉的。我發現掌握python的人越來越多了,大家交流起來也更方便。希望以上回答對大家有幫助。


訂閱更多接地氣的科技知識,請關注阿土哥。


阿土哥知識雜貨鋪2020


Python語言的優勢:

一、簡單易學:Python語言相對於其他編程語言來說,屬於比較容易學習的一門編程語言,它注重的是如何解決問題而不是編程語言的語法和結構。正是因為Python語言簡單易學,所以,已經有越來越多的初學者選擇Python語言作為編程的入門語言。

二、開發效率高:相對於C、C++和Java等編譯語言,Python開發者的效率提高了數倍。實現相同的功能,Python代碼的文件往往只有C、C++和Java代碼的1/5~1/3。雖然Python語言擁有很多吸引人的特性,但是,各大互聯網公司廣泛使用Python語言,很大程度上是因為Python語言開發效率高這個特點。開發效率高的語言,能夠更好的滿足互聯網快速迭代的需求,因此,Python語言在互聯網公司使用非常廣泛。

三、豐富強大的庫:Python有非常強大的第三方庫,Python語言包含了解決各種問題的類庫。無論實現什麼功能,都有現成的類庫可以使用。如果一個功能比較特殊,標準庫沒有提供相應的支持,那麼,很大概率也會有相應的開源項目提供了類似的功能。合理使用Python的類庫和開源項目,能夠快速的實現功能,滿足業務需求。

四、應用領域廣泛:Python語言的另一大優點就是應用領域廣泛,工程師可以使用Python做很多的事情。例如,Web開發、網絡編程、自動化運維、Linux系統管理、數據分析、科學計算、人工智能、機器學習等等。Python語言介於腳本語言和系統語言之間,我們根據需要,既可以將它當做一門腳本語言來編寫腳本,也可以將它當做一個系統語言來編寫服務。

Python語言的劣勢:

一、速度慢:當然,這也不是一個很嚴重的問題,一般情況下,我們不會拿Python語言與C/C++這樣的語言進行直接比較。在Python語言的執行速度上,一方面,網絡或磁盤的延遲,會抵消掉部分Python本身消耗的時間;另一方面,因為Python特別容易和C結合起來,因此,我們可以通過分離一部分需要優化速度的應用,將其轉換為編譯好的擴展,並在整個系統中使用Python腳本將這部分應用連接起來,以提高程序的整體效率。

二、對多處理器支持不好:Python的GIL鎖限制併發,GIL是指Python全局解釋器鎖(GlobalInterpreterLock),當Python的默認解釋器要執行字節碼時,都需要先申請這個鎖。這意味著,如果試圖通過多線程擴展應用程序,將總是被這個全局解釋器鎖限制。當然,我們可以使用多進程的架構來提高程序的併發,也可以選擇不同的Python實現來運行我們的程序。

三、Python2與Python3不兼容:如果一個普通的軟件或者庫,不能夠做到後向兼容,那麼,它會被用戶無情的拋棄了。在Python中,一個槽點是Python2與Python3不兼容。因為Python沒有向後兼容,給所有的Python工程師帶來了無數的煩惱。



分享到:


相關文章: