本文目錄一覽:
Python有什麼缺點呢?
1. – 運行速度慢,因為Python是解釋型語言,是一種高級語言,代碼會在執行的時候,一行一行的使用解釋器翻譯成底層代碼,翻譯成機器碼,而這個過程非常耗時,所以他運行過程中,比很多語言的代碼都慢了很多。
– 線程不能利用多CPU,這是Python最大的確定,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平台上,由於GIL的存在,所以禁止多線程的並行執行。
Python的優缺點可以看看傳智播客的社區,裡面很多技術老師寫的相關文章。並且有學習線路圖適合小白學習,每個板塊下面都有配套視頻。
實用主義學Python怎麼樣
具體指是哪部分?
如果是書,推薦《python編程快速上手-讓繁瑣工作自動化》
裡面有日常實用的一些數據處理。
Python 有什麼缺點
python的整個系統,我其實有非常多的不滿。但是用任何一門語言都是取捨問題,如果有一門語言,庫夠多,已讀,易用,性能高,我毫不猶豫立刻轉過去。python的強處在於龐大的庫,還有非常好的易讀和易用性。但是相比來說,性能一直是個問題。python的實現性能大約和C相差五倍上下。如果是大規模計算問題,大約能差10倍以上。當然,我們可以寫C擴展,但是這就不是使用python了。我們也可以說,很多時候我們不需要這麼快的速度。這是個事實,但是不改變python性能差的事實。 python不但性能差,還有GIL這個玩意。以至於我現在對高並發計算都採取多進程的模式。多進程模式的通訊效率肯定比多線程低,而且麻煩。
另外,python在底層設計上,也表現出很強的實用主義傾向。這是比較外交術語的詞彙,更加直白的說法應當是,混亂,不知所謂。在閉包設計上採用free variable設計,而不是lisp中的environs設計。區別?你試試看在外層閉包中from lib import *。由於引入不定個數名稱,free variable無法處理。類似的問題還有LEGB規則,新手往往要花很長時間研究這個例子究竟是怎麼錯的: a = 1 def f(): print a a = 2 我勒個去,這種反直觀反人類的事情都有,還敢說自己易讀。
還有坑爹的元編程,這東西根本是坑爹中的坑爹貨。如果你用過多重繼承,大概就知道python的整個OO系統看起來根本是大型的仿真,到處都是亂糟糟的。C++怎麼解決多重繼承的?你最好別用(真心說,這可比python更加坑爹)。java怎麼解決多重繼承的,只能繼承Interface。其實這是變相的變成了Interface-Implement模式。python怎麼解決的?MRO!為什麽一個類加個__metaclass__就會改變性質啊,為什麽一個類去生成另一個類的寫法是——我基本不記得了,反正web.py裡面有用到,需要的話去炒栗子吧。為什麽方法要隱藏居然要改名字加__啊。你到底是在做OO還是在看起來像OO的東西上狂打補丁啊魂淡。
lambda表達式弱智。我和人討論過,lambda是否是圖靈完備的。結論還是完備的,不過需要藉助Y combinator。何必呢?由於強調lambda的快速特性,因此將lambda強制在一行以內(沒有結束標記),導致python其實是沒有匿名函數的。一個callback數組寫的難過死。
語法糖太多了點,當然,這是純粹的個人感覺。語法糖是把雙刃劍,用的好,可以簡化編寫和閱讀,但是太多,往往容易引入語法混亂和額外的約束。
另外,語言的自構建特性混亂。雖說不是每門語言都強調自構建特性,但是通常而言,都是使用C實現一個內核,由內核實現一些基礎操作。再由基礎操作實現更複雜的操作。每層的邊界都是比較清晰的。誰來告訴我,python中有多少庫在移植時是由純python實現的?庫的相互依賴層級是?
python的沙盒化也是個問題,如果沙盒做的夠好,我完全可以把python作為一個客戶級別的平台。用C寫一個很簡單的類似瀏覽器的東西,下載一個URL的python包回去運行(或者僅僅檢查更新)。從而保證本地效果/跨平台/安全性。現在?一個都保證不了。我連把一個python包轉移到另一台同構設備上都很麻煩(如果兩者不是嚴格匹配,例如系統差異,系統版本差異)無論是web開發還是移動終端開發都必須走傳統模式。
為什麼說Python是目前熱度增長最快的編程語言
當前最活躍的項目就是人工智能和大數據方向,而Python是實踐應用最多語言。
python語言是一種什麼語言
python的中文名稱是蟒蛇。
Python是一種計算機程序設計語言。是一種動態的、面向對象的腳本語言,最初是用來編寫自動化腳本的,隨着版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。
Python特點主要有以下幾個方面:
1、簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專註於解決問題而不是去搞明白語言本身。
2、易學:Python極其容易上手,因為Python有極其簡單的說明文檔。
3、速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C 寫的,運行速度非常快。
4、免費、開源:Python是FLOSS之一。使用者可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟件中。FLOSS是基於一個團體分享知識的概念。
5、高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
6、可移植性:由於它的開源本質,Python已經被移植在許多平台上。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、以及Google等基於linux開發的android平台。
7、解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件轉換到一個你的計算機使用的語言。這個過程通過編譯器和不同的標記、選項完成。
擴展資料:
Python語言風格簡介:
Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,並且被大量用戶所歡迎的、用途廣泛的語言。
對於一個特定的問題,只要有一種最好的方法來解決就好。這在由Tim Peters寫的Python格言裡面表述為:There should be one– and preferably only one –obvious way to do it. 這正好和Perl語言的中心思想TMTOWTDI完全相反。
Python的作者有意的設計限制性很強的語法,使得不好的編程習慣都不能通過編譯。其中很重要的一項就是Python的縮進規則。
參考資料:Python-百度百科
原創文章,作者:BDIY4,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130260.html