python執(zhí)行效率有多低 Python語(yǔ)言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?
Python語(yǔ)言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?對(duì)于那些使用了多種開(kāi)發(fā)語(yǔ)言(Java、C#、nodejs、Erlang)然后轉(zhuǎn)到Python進(jìn)行機(jī)器學(xué)習(xí)的人,我想談?wù)勎业目捶?。?/p>
Python語(yǔ)言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?
對(duì)于那些使用了多種開(kāi)發(fā)語(yǔ)言(Java、C#、nodejs、Erlang)然后轉(zhuǎn)到Python進(jìn)行機(jī)器學(xué)習(xí)的人,我想談?wù)勎业目捶ā?/p>
首先,Python真的很慢嗎?我的回答是真的。非常慢。for循環(huán)比CPP慢兩個(gè)數(shù)量級(jí)。
那么為什么要使用Python呢?如果我們遍歷超過(guò)一億個(gè)數(shù)據(jù),兩個(gè)數(shù)量級(jí)的差異是不可接受的。但是,如果我們使用Python來(lái)執(zhí)行頂層邏輯并阻塞數(shù)以億計(jì)的數(shù)據(jù),Python只會(huì)循環(huán)十幾次,剩下的就留給CPU和GPU了。所以兩個(gè)數(shù)量級(jí)無(wú)關(guān)緊要?一毫秒和100毫秒在整個(gè)系統(tǒng)中并不重要。
Python最大的優(yōu)點(diǎn)是它可以非常優(yōu)雅地將數(shù)據(jù)拋出到高效的C、CUDA中進(jìn)行計(jì)算。Numpy、panda、numba這些優(yōu)秀的開(kāi)源庫(kù)可以非常方便高效地處理海量數(shù)據(jù),借助ZMQ、cell等還可以做分布式計(jì)算,gevent借助epoll系統(tǒng)IO優(yōu)化。因此,它不需要花費(fèi)太多的精力就可以優(yōu)雅高效地完成海量數(shù)據(jù)處理和機(jī)器學(xué)習(xí)任務(wù)。這就是Python如此流行的原因。
好好想想。同樣的性能,代碼只有CPP或Java的三分之一或更少,不是很吸引人嗎?
Python對(duì)普通人有什么實(shí)際用處?
python有意思嗎?
個(gè)人來(lái)說(shuō),這很有趣。
我用scrapy編寫(xiě)了一個(gè)非常簡(jiǎn)單的爬蟲(chóng)程序,獲得了40000多輪演習(xí)的數(shù)據(jù)。然后我用numpy和pandans做了一個(gè)凌亂的分析,matlibpol t經(jīng)過(guò)可視化,似乎可以嚇唬一些人,哈哈;現(xiàn)在我發(fā)現(xiàn)爬蟲(chóng)很有意思。嘻嘻,如果你有興趣的話,可以到我的主頁(yè)看看,但是門(mén)戶網(wǎng)站不會(huì)給你。就在標(biāo)題之后,這是文章。
但是我覺(jué)得學(xué)習(xí)之后,我認(rèn)為更好的學(xué)習(xí)方式是系統(tǒng)地申請(qǐng)課程,因?yàn)樽詫W(xué)之后,我覺(jué)得這是浪費(fèi)時(shí)間,我沒(méi)有系統(tǒng)地尋找基本信息。后來(lái),我比較了幾所院校,最后選擇了上學(xué)堂,因?yàn)檫@里的老師比其他院校更負(fù)責(zé)任。最后,我選擇了上學(xué)堂。
Python和Java,你覺(jué)得哪個(gè)是最好的語(yǔ)言呢?為什么?
讓我們先看兩張圖片:
2015年5月編程語(yǔ)言排名
2020年4月編程語(yǔ)言排名https://www.tiobe.com/tiobe-index
以上數(shù)字是本網(wǎng)站的統(tǒng)計(jì)數(shù)據(jù)??梢钥吹?,Java是近年來(lái)最好的,python發(fā)展很快,但與Java相比還有一定的差距。
不得不說(shuō),爪哇第一的位置比較穩(wěn)定,老大哥的位置沒(méi)有動(dòng)搖。Java如此流行的原因之一是市場(chǎng)需求?,F(xiàn)在市場(chǎng)上的大多數(shù)移動(dòng)應(yīng)用程序都是由Java開(kāi)發(fā)的。支付寶、支付寶、淘寶、京東等都在用Java做后臺(tái)。如此眾多的互聯(lián)網(wǎng)公司如此青睞Java,這將推動(dòng)Java生態(tài)變得越來(lái)越好。畢竟,有大公司支持它。生態(tài)越好,與Java相關(guān)的學(xué)習(xí)材料就越多,學(xué)習(xí)Java的人就越多。最重要的是Java的薪水也很不錯(cuò)。這是如此循環(huán),你不能沒(méi)有火。
說(shuō)了這么多,Java這么流行,它能算是一門(mén)好語(yǔ)言嗎?事實(shí)上,不同領(lǐng)域的不同語(yǔ)言有各自的優(yōu)勢(shì)。我不在乎。關(guān)鍵是你喜歡它,它能幫你解決問(wèn)題,給你帶來(lái)好處。只要能滿足你的需要,解決你的問(wèn)題,你就可以說(shuō)誰(shuí)是好人。
最后,我想說(shuō)的是,語(yǔ)言只是一種工具,最重要的是一個(gè)人的思維
!如果我的回答對(duì)你有幫助,請(qǐng)記得表?yè)P(yáng)我。謝謝您!