學(xué)go還是python 為什么Python效率這么低,還這么火?
為什么Python效率這么低,還這么火?在許多情況下,性能不是瓶頸。大約80%的應(yīng)用程序不需要高性能。python學(xué)習(xí)一定用pycharm嗎?歸根結(jié)底,Python仍然是一個(gè)解釋器,就像Java一樣。
為什么Python效率這么低,還這么火?
在許多情況下,性能不是瓶頸。大約80%的應(yīng)用程序不需要高性能。
python學(xué)習(xí)一定用pycharm嗎?
歸根結(jié)底,Python仍然是一個(gè)解釋器,就像Java一樣。Pychar是一個(gè)集成開(kāi)發(fā)環(huán)境(IDE)。你可以在IDE中編寫、調(diào)試、斷點(diǎn)等,市場(chǎng)上有很多IDE工具,不僅僅是pychar
但是無(wú)論是pychar、vscode、jupyter還是其他IDE,你都必須有Python解釋器來(lái)運(yùn)行它們之間的關(guān)系就像引擎和燃料一樣。燃料不能放在引擎里,但是引擎需要燃料才能移動(dòng)
當(dāng)我剛開(kāi)始學(xué)習(xí)python的時(shí)候,我用的是jupyter。這個(gè)IDE對(duì)新手非常友好。它可以直接在網(wǎng)頁(yè)上打開(kāi)、書寫、運(yùn)行,寫筆記也非常方便。最好的是我還可以放圖片和公式,放文字等
一個(gè)字來(lái)描述是簡(jiǎn)潔的,可視化能力非常突出,非常適合數(shù)據(jù)分析,但是安裝起來(lái)比較麻煩。
后來(lái),我用了pychar。Pychar是Python的專用IDE,它的狀態(tài)與javaeclipse類似,如果你想實(shí)現(xiàn)一個(gè)完整的Python項(xiàng)目,我建議你使用Pychar
最后,Pychar有兩個(gè)版本。點(diǎn)擊官網(wǎng)可以看到詳細(xì)的介紹。Professional是一個(gè)專業(yè)版,它需要花錢,但功能齊全。社區(qū)是一個(gè)社區(qū)版本,這是閹割版本。它是免費(fèi)的,適合新手練習(xí)。
Python到底有多慢?
首先,我們用10個(gè)坐標(biāo)點(diǎn)來(lái)模擬城市的位置。由于我們平時(shí)對(duì)Python的使用比較多,也比較熟悉,所以我們首先選擇Python作為編程語(yǔ)言來(lái)實(shí)現(xiàn)蟻群算法,但是我們?cè)诘谝粫r(shí)間就等著睡著了。猜猜看有多長(zhǎng)時(shí)間,超過(guò)六分鐘,這是效率的可怕之處。你不能讓老師等6分鐘在最后的回答中選擇最佳路徑??峙乱獣和A?。用C語(yǔ)言對(duì)蟻群算法進(jìn)行了優(yōu)化,優(yōu)化結(jié)果不到1min。沒(méi)有比較就沒(méi)有壞處。在這之后,我深刻地認(rèn)識(shí)到Python執(zhí)行效率的可怕方面。
有些人可能想知道為什么C和Java比python更高效。事實(shí)上,它與語(yǔ)言的底層代碼有關(guān)。C語(yǔ)言是匯編語(yǔ)言的二次開(kāi)發(fā),Java大多是C和C的二次開(kāi)發(fā),但是我們的Python可以分為兩種情況,一種是Cpython,另一種是jpython,分別是C和Java的二次開(kāi)發(fā),所以效率比這兩種語(yǔ)言要低。我看到消息說(shuō),為了解決python的效率問(wèn)題,政府計(jì)劃重新開(kāi)發(fā)底層python代碼。最近,我沒(méi)有看到任何相關(guān)的新聞。畢竟,這個(gè)工作量是非常巨大的。