最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

六星源課堂:Python有哪些弱點(diǎn)?是什么讓 Python 如此流行?

2022-06-14 09:36 作者:六星源課堂  | 我要投稿

Python 作為一種編程語言正在消亡嗎?我不這么認(rèn)為。

它正在失去魅力嗎?也許有一點(diǎn),但也只是一點(diǎn)。

自 20 世紀(jì) 90 年代早期發(fā)布以來,有關(guān) Python 的炒作就沒有停止過。編程社區(qū)花了至少 20 年的時(shí)間才確認(rèn)了它的地位,而從那以后,它的流行程度遠(yuǎn)遠(yuǎn)超過了 C、C#、Java 甚至是 JavaScript。

盡管 Python 在數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)以及科學(xué)和數(shù)學(xué)計(jì)算(一定程度上)領(lǐng)域占據(jù)著主導(dǎo)地位,但與 Julia、Swift 和 Java 等新興語言相比,它也有自己的缺點(diǎn)。

是什么讓 Python 如此流行?

Python 飛速發(fā)展的主要原因之一是它的易學(xué)和強(qiáng)大,這對初學(xué)者來說非常有吸引力,甚至對那些因?yàn)?C/C++ 等語言的晦澀語法而逃避編程的人來說也是如此。

Python 最為強(qiáng)調(diào)的是代碼可讀性。憑借其簡潔而富有表現(xiàn)力的語法,開發(fā)者無需編寫大量的代碼就可以表達(dá)他們的想法和概念 (而 C 語言或 Java 就做不到了)。Python 可以無縫地與其他編程語言集成 (比如將 CPU 密集型任務(wù)交給到 C/C++ 來完成),對于多語言開發(fā)者來說,這無疑也是一個(gè)額外的優(yōu)勢。

導(dǎo)致 Python 流行的另一個(gè)原因是它被巨頭企業(yè) (包括美國五大科技巨頭) 和無數(shù)小型企業(yè)使用?,F(xiàn)如今,你可以為你想做的任何一件事情找到一個(gè) Python 包——科學(xué)計(jì)算有 Numpy,機(jī)器學(xué)習(xí)有 Sklearn,計(jì)算機(jī)視覺有 Caer。

Python 的弱點(diǎn)

1.慢,非常慢

這個(gè)是顯而易見的。速度通常被認(rèn)為是開發(fā)者最為關(guān)注的重點(diǎn)之一,并且可能在不可預(yù)見的一段時(shí)間內(nèi)繼續(xù)如此。

導(dǎo)致 Python“慢”主要可以歸結(jié)為兩個(gè)原因——Python 是解釋執(zhí)行的,而不是編譯執(zhí)行的,所以執(zhí)行時(shí)間變長;它是動(dòng)態(tài)類型的 (Python 在執(zhí)行過程中自動(dòng)推斷變量的數(shù)據(jù)類型)。

實(shí)際上,“Python 很慢”這一說法在初學(xué)者當(dāng)中很經(jīng)常聽到。是的,這是真的,但也不完全對。

以 Python 機(jī)器學(xué)習(xí)庫 TensorFlow 為例。這些庫實(shí)際上是用 C++ 編寫的,然后使用 Python 進(jìn)行了“包裝”。Numpy 也是一樣的,在某種程度上 Caer 也是。

2.全局解釋器鎖

導(dǎo)致 Python 慢的另一個(gè)原因是 GIL(全局解釋器鎖),它一次只允許一個(gè)線程執(zhí)行。雖然這提高了單線程的性能,但限制了并行性。為了提高速度,開發(fā)者必須實(shí)現(xiàn)多處理程序,而不是使用多線程。

3.不適合內(nèi)存密集型任務(wù)

當(dāng)對象超出作用域時(shí),Python 會自動(dòng)對它們進(jìn)行垃圾回收。Python 致力于消除內(nèi)存管理的復(fù)雜性。因?yàn)椴捎昧藙?dòng)態(tài)類型,Python 消耗的內(nèi)存可能會迅速暴增。

另外,Python 有一些沒有被注意到的 bug,可能會在運(yùn)行時(shí)突然出現(xiàn),最終極大降低開發(fā)速度。

4.在移動(dòng)計(jì)算領(lǐng)域的弱勢

隨著從桌面到智能手機(jī)的巨大轉(zhuǎn)變,顯然需要更健壯的編程語言來構(gòu)建移動(dòng)軟件。雖然 Python 在桌面和服務(wù)器領(lǐng)域有相當(dāng)搶眼的表現(xiàn),但由于缺乏強(qiáng)大的移動(dòng)計(jì)算處理能力,所以在移動(dòng)開發(fā)領(lǐng)域失去了優(yōu)勢。

近年來,Python 在這個(gè)領(lǐng)域已經(jīng)有了很大進(jìn)步,但這些新增的庫與強(qiáng)大的競爭對手(如 Kotlin、Swift 和 Java)還是無法比擬的。

5.其他編程語言的崛起

近年來,像 Julia、Rust 和 Swift 這樣的新興編程語言突然出現(xiàn)在人們的視野中,它們借鑒了大量來自 Python、C/C++ 和 Java 的優(yōu)秀設(shè)計(jì)理念——Rust 在很大程度上保證了內(nèi)存安全和運(yùn)行時(shí)的并發(fā)性,并提供了與 WebAssembly 的互操作性;因?yàn)橹С?LLVM 編譯器工具鏈,Swift 幾乎和 C 語言一樣快,而 Julia 為 I/O 密集型任務(wù)提供了異步 I/O,速度快得驚人。

結(jié)論

Python 從來就不是最好的編程語言,也從來不是為了取代 C/C++ 和 Java。它是一種通用的編程語言,強(qiáng)調(diào)的是代碼可讀性、以英語為中心的語法,從而加快程序和應(yīng)用程序的開發(fā)。

Python 和其他編程語言一樣,說到底都是一種工具。有時(shí)候,它是最好的工具,但有時(shí)它不是。大多數(shù)情況下,都是“還好”。

那么,Python 作為一種編程語言正在消亡嗎?

我不這么認(rèn)為。

它正在失去魅力嗎?

也許有一點(diǎn),但也只是一點(diǎn)。

以上就是本次分享的全部內(nèi)容,想學(xué)習(xí)更多Python技巧,歡迎持續(xù)關(guān)注六星源課堂!


六星源課堂:Python有哪些弱點(diǎn)?是什么讓 Python 如此流行?的評論 (共 條)

分享到微博請遵守國家法律
封丘县| 汉源县| 四会市| 长垣县| 行唐县| 和龙市| 吉林省| 达拉特旗| 社会| 萨嘎县| 叙永县| 营山县| 炎陵县| 西畴县| 贺州市| 安龙县| 宣恩县| 郁南县| 洪雅县| 尤溪县| 石嘴山市| 灵宝市| 怀集县| 米易县| 顺昌县| 房产| 南充市| 凤翔县| 六安市| 金昌市| 龙游县| 南宁市| 田阳县| 桃源县| 苍山县| 永吉县| 临沭县| 巢湖市| 乌拉特前旗| 胶州市| 翁牛特旗|