溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

為什么Python正在慢慢失去魅力

發(fā)布時(shí)間:2021-10-26 11:43:12 來(lái)源:億速云 閱讀:121 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“為什么Python正在慢慢失去魅力”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“為什么Python正在慢慢失去魅力”吧!

是什么使Python如此流行?

Python迅猛發(fā)展的主要推動(dòng)力之一是它的易學(xué)性和強(qiáng)大的實(shí)用性,這使其對(duì)初學(xué)者以及因諸如C之類(lèi)的語(yǔ)言的語(yǔ)法難以理解而回避編程的人非常有吸引力。 / C  ++。

該語(yǔ)言從根本上廣泛強(qiáng)調(diào)代碼的可讀性。 憑借其簡(jiǎn)潔明了的語(yǔ)法,它使開(kāi)發(fā)人員無(wú)需編寫(xiě)大量的行代碼即可表達(dá)想法和概念(在C或Java等低級(jí)語(yǔ)言中就是這種情況)。  Python非常簡(jiǎn)單,可以與其他編程語(yǔ)言無(wú)縫集成(例如將CPU密集型任務(wù)卸載到C / C ++),這對(duì)多語(yǔ)言開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)額外的好處。

Python多功能性的另一個(gè)原因是企業(yè)(包括FAANG)以及無(wú)數(shù)小型企業(yè)對(duì)其的大量使用。  如今,您將找到一個(gè)Python軟件包,幾乎可以想到的所有內(nèi)容-對(duì)于科學(xué)計(jì)算,您已經(jīng)擁有Numpy,Sklearn(用于機(jī)器學(xué)習(xí))和Caer(用于計(jì)算機(jī)視覺(jué))。

Python的弱點(diǎn)

很慢,很慢

這可能很容易。 速度通常被認(rèn)為是開(kāi)發(fā)人員關(guān)注的重點(diǎn)之一,并且可能會(huì)持續(xù)不可預(yù)見(jiàn)的時(shí)間。

Python變慢的主要原因之一,實(shí)際上可以歸結(jié)為2 – Python被解釋為與編譯相反,最終導(dǎo)致執(zhí)行時(shí)間變慢;  以及它是動(dòng)態(tài)類(lèi)型的(在執(zhí)行過(guò)程中,Python會(huì)自動(dòng)推斷變量的數(shù)據(jù)類(lèi)型)。

實(shí)際上,這種" Python慢"的觀點(diǎn)在初學(xué)者中往往起很大作用。 對(duì),是真的。 但只是部分。

以TensorFlow為例,這是Python提供的機(jī)器學(xué)習(xí)庫(kù)。 這些庫(kù)實(shí)際上是用C ++編寫(xiě)的,并且可以在Python中使用,有點(diǎn)像是圍繞C  ++實(shí)現(xiàn)的Python"包裝器"。 Numpy甚至在一定程度上也是如此。

它有一個(gè)GIL(l)

Python速度緩慢的主要原因之一是存在GIL(全局解釋器鎖定),該功能一次只能執(zhí)行一個(gè)線(xiàn)程。  雖然這可以提高單線(xiàn)程的性能,但是它限制了并行性,在這種并行性中,開(kāi)發(fā)人員必須實(shí)現(xiàn)多處理程序而不是多線(xiàn)程程序,以提高速度。

對(duì)于內(nèi)存密集型任務(wù)不是很好的

當(dāng)對(duì)象超出范圍時(shí),Python會(huì)自動(dòng)進(jìn)行垃圾回收。 它旨在消除C和C ++涉及的很多內(nèi)存管理復(fù)雜性。  由于指定數(shù)據(jù)類(lèi)型的靈活性(或缺乏靈活性),Python消耗的內(nèi)存量可能會(huì)迅速爆炸。

此外,Python可能不會(huì)注意到的一些錯(cuò)誤可能會(huì)在運(yùn)行時(shí)彈出,最終使開(kāi)發(fā)過(guò)程變慢了很多。

移動(dòng)計(jì)算的弱勢(shì)存在

從臺(tái)式機(jī)到智能手機(jī)的巨大轉(zhuǎn)變,很明顯,需要更強(qiáng)大的語(yǔ)言來(lái)構(gòu)建用于手機(jī)的軟件。  盡管Python在臺(tái)式機(jī)和服務(wù)器平臺(tái)上具有相當(dāng)大的代表性,但是由于缺乏強(qiáng)大的移動(dòng)計(jì)算處理能力,Python往往會(huì)在移動(dòng)開(kāi)發(fā)方面失去優(yōu)勢(shì)。

近年來(lái),在這一領(lǐng)域取得了許多進(jìn)步,但是這些新添加的庫(kù)甚至與強(qiáng)大的競(jìng)爭(zhēng)對(duì)手(如Kotlin,Swift和Java)并不接近。

其他語(yǔ)言的興起

最近,Julia,Rust和Swift等較新的語(yǔ)言突然出現(xiàn),它們借鑒了Python,C / C  ++和Java的許多優(yōu)秀設(shè)計(jì)概念-Rust幾乎保證了運(yùn)行時(shí)的內(nèi)存安全性和并發(fā)性,并提供一流的 與WebAssembly的互操作性;  Swift對(duì)LLVM編譯器工具鏈的支持幾乎與C一樣快,而Julia為I / O密集型任務(wù)提供了異步I / O,并且速度非???。

到此,相信大家對(duì)“為什么Python正在慢慢失去魅力”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI