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