亚洲熟妇中文字幕欧美,国产 日韩 欧美 视频 制服,日韩av天堂一区二区,国产精品亚洲av三区

  1. <big id="nbhen"><acronym id="nbhen"></acronym></big>

        <source id="nbhen"><track id="nbhen"></track></source>

      1. <b id="nbhen"><acronym id="nbhen"></acronym></b>

        湖北企業(yè)新聞網(wǎng),歡迎您!

        幫助中心 廣告聯(lián)系

        網(wǎng)站關(guān)鍵詞: 湖北企業(yè)新聞網(wǎng)

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        來(lái)源:時(shí)間:2020-07-21 05:02:32 閱讀:-

        在人類發(fā)展史上,從來(lái)沒(méi)有任何一項(xiàng)技術(shù)及其應(yīng)用能像計(jì)算機(jī)網(wǎng)絡(luò)一樣發(fā)展如此迅速。對(duì)人們的工作、生活、消費(fèi)和交往方式影響如此巨大,并且隨著信息化的網(wǎng)絡(luò)社會(huì)的到來(lái),人類傳統(tǒng)的生產(chǎn)方式、生活方式和生存狀態(tài)都發(fā)生著翻天覆地的變化。

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        而計(jì)算機(jī)的運(yùn)行離不開(kāi)程序,編寫程序就要需要用到計(jì)算機(jī)語(yǔ)言。我們今天說(shuō)說(shuō)常用的計(jì)算機(jī)語(yǔ)言中的Python。

        網(wǎng)上說(shuō)Python是一個(gè)不務(wù)正業(yè)的人發(fā)明的:"是"也"不是"。

        " 是 "是因?yàn)椋篜ython是Guido van Rossum創(chuàng)立的, 1989年圣誕節(jié),他在阿姆斯特丹很無(wú)聊,決定開(kāi)發(fā)一種新的腳本解釋語(yǔ)言,之所以選擇Python(大蟒蛇)作為程序的名字,是因?yàn)樗且粋€(gè)大蟒蛇飛行馬戲團(tuán)的愛(ài)好者。他的愛(ài)好很廣泛,看起來(lái)像無(wú)所事事的。

        " 不是 "是因?yàn)椋涸赑ython開(kāi)發(fā)之前,他也是ABC語(yǔ)言的設(shè)計(jì)者,最終ABC沒(méi)有獲得成功,Guido認(rèn)為是因?yàn)锳BC沒(méi)有開(kāi)源, 所以在Python上就特別重視開(kāi)源和與其它語(yǔ)言的結(jié)合。

        Python 是一種解釋性腳本語(yǔ)言,不是像c++/java那樣的高級(jí)語(yǔ)言,需要編譯成字節(jié)碼之后才能運(yùn)行,它可以邊運(yùn)行邊解釋。而它的設(shè)計(jì)也堅(jiān)持了清晰劃一的風(fēng)格,這使得Python成為一門易讀、易維護(hù),并且被大量用戶所歡迎的、用途廣泛的語(yǔ)言。

        而且隨著人工智能的興起,近幾年P(guān)ython的熱度更是逐漸上漲,眾多AI從業(yè)者都會(huì)首選Python,下面我們看兩組數(shù)據(jù):

        根據(jù)數(shù)據(jù)平臺(tái) Kaggle發(fā)布的2017年機(jī)器學(xué)習(xí)及數(shù)據(jù)科學(xué)調(diào)查報(bào)告,在工具語(yǔ)言使用方面,Python是數(shù)據(jù)科學(xué)家和人工智能從業(yè)者使用最多的語(yǔ)言(見(jiàn)下圖)。

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        IEEE綜覽(IEEE Spectrum)發(fā)布的2017最受歡迎編程語(yǔ)言列表中,Python同樣位列第一(見(jiàn)下圖)。

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        為什么Python是人工智能技術(shù)首選的編程語(yǔ)言?

        原因1:Python是一種說(shuō)人話的語(yǔ)言

        所謂"說(shuō)人話",是指這種語(yǔ)言:

        開(kāi)發(fā)者不需要關(guān)注底層

        語(yǔ)法簡(jiǎn)單直觀

        表達(dá)形式一致

        我們先來(lái)看幾個(gè)代碼的例子:

        C 語(yǔ)言Hello World 代碼:

        int main(){ printf("Hello, World!"); return 0;}

        Java 語(yǔ)言Hello World 代碼:

        public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); }}

        Python 語(yǔ)言Hello World代碼:

        print("Hello World!")

        僅僅是一個(gè)Hello World程序,就能看出區(qū)別了,是不是?

        編譯 VS 解釋

        當(dāng)然,僅僅是一個(gè)Hello World的話,C和Java的代碼也多不了幾行。

        可是不要忘了,C和Java的代碼要運(yùn)行,都必須先經(jīng)過(guò)編譯的環(huán)節(jié)。

        對(duì)于C語(yǔ)言來(lái)說(shuō),在不同的操作系統(tǒng)上使用什么樣的編譯器,也是一個(gè)需要斟酌的問(wèn)題。一旦代碼被copy到新的機(jī)器,運(yùn)行環(huán)境和之前不同,還需要重新編譯,而那臺(tái)機(jī)器上有沒(méi)有編譯器還是一個(gè)問(wèn)題,安裝上編譯器后,也許和之前最初的編譯器有所區(qū)別,還得修改源代碼來(lái)滿足編譯環(huán)境的需求……

        我到底做錯(cuò)了什么?我只是想運(yùn)行一個(gè)別人寫的程序而已。

        而Python則不用編譯,直接運(yùn)行。而且都可以不用寫文件,一條條語(yǔ)句可以直接作為命令行運(yùn)行,真的太方便了。

        語(yǔ)言語(yǔ)法

        和Python比,Java的語(yǔ)法更"啰嗦"。

        從上面的例子已經(jīng)可以看出,創(chuàng)建一個(gè)鏈表,Java還需要聲明和逐個(gè)插入節(jié)點(diǎn),而Python則可一行代碼完成從鏈表創(chuàng)建到插入節(jié)點(diǎn)及賦值的全部操作。

        Java非讓你很別扭地寫好幾行,Python直接一句搞定。

        這樣的結(jié)果就是,Python寫起來(lái)省事,讀起來(lái)也方便??勺x性遠(yuǎn)超Java。

        表達(dá)風(fēng)格

        在10年或者更久遠(yuǎn)之前,Python經(jīng)常被用來(lái)和Perl相提并論。畢竟在那個(gè)時(shí)候,C是系統(tǒng)級(jí)語(yǔ)言,Java是面向?qū)ο笳Z(yǔ)言,而Python & Perl則是腳本語(yǔ)言的雙子星。

        Python和Perl在設(shè)計(jì)層面有一個(gè)非常大的區(qū)別:

        Python力求讓不同的人在撰寫同樣功能實(shí)現(xiàn)的代碼時(shí),所用的表達(dá)形式盡量一致;

        而Perl則是故意追求表達(dá)的千姿百態(tài),讓同一個(gè)人在不同地方寫同樣功能時(shí)所用具體形式都不同。

        從哲學(xué)層面講,Perl的追求更加自由主義,更利于釋放人類的多樣化天性。然而,Perl寫的程序——那叫一個(gè)亂七八糟!

        如果不是想成為代碼詩(shī)人,或者語(yǔ)言大師,只是想用盡量簡(jiǎn)單直接的方法,把事情做了,首選語(yǔ)言確實(shí)是Python。

        原因2:強(qiáng)大的AI支持庫(kù)

        矩陣運(yùn)算

        NumPy由數(shù)據(jù)科學(xué)家Travis Oliphant創(chuàng)作,支持維度數(shù)組與矩陣運(yùn)算。結(jié)合Python內(nèi)置的math和random庫(kù),堪稱AI數(shù)據(jù)神器!有了它們,就可以放心大膽玩矩陣了!

        大家知道,不管是Machine Learning,還是Deep Learning,模型、算法、網(wǎng)絡(luò)結(jié)構(gòu)都可以用現(xiàn)成的,但數(shù)據(jù)是要自己負(fù)責(zé)I/O并傳遞給算法的。

        而各種算法,實(shí)際上處理的都是矩陣和向量。

        使用NumPy,矩陣的轉(zhuǎn)置、求逆、求和、叉乘、點(diǎn)乘……都可以輕松地用一行代碼搞定,行、列可以輕易抽取,矩陣分解也不過(guò)是幾行代碼的問(wèn)題。

        而且,NumPy在實(shí)現(xiàn)層對(duì)矩陣運(yùn)算做了大量的并行化處理,通過(guò)數(shù)學(xué)運(yùn)算的精巧,而不是讓用戶自己寫多線程程序,來(lái)提升程序效率。

        有了Python這種:語(yǔ)法簡(jiǎn)潔明了、風(fēng)格統(tǒng)一;不需要關(guān)注底層實(shí)現(xiàn);連矩陣元素都可以像在紙上寫公式一樣;寫完公式還能自動(dòng)計(jì)算出結(jié)果的編程語(yǔ)言,開(kāi)發(fā)者就可以把工作重心放在模型和算法上了。

        ML模型

        用Python實(shí)現(xiàn)大多數(shù)經(jīng)典模型,幾十上百行代碼就夠了。

        當(dāng)然,對(duì)于普通用戶,也可以連算法都不用管,只是調(diào)用Scikit-Learn的接口就可以了。

        比如,訓(xùn)練和使用一個(gè)logistic Regression模型,只需要下面幾行代碼就可以了:

        # import the LogisticRegression from sklearn.linear_model import LogisticRegression # Use default parametersclassifier = LogisticRegression() # train modelclassifier.fit(train_set, target) # do testy_hat = classifier.predict(test_set) # print out test resultsprint y_hat

        支持圖表

        Python還有許多圖標(biāo)方面的支持庫(kù)。用來(lái)生成dashboard上的各種圖形表格,是非常簡(jiǎn)單的事情。

        比如使用Plotly圖形庫(kù),下面這些炫彩的圖形,就隨便用啦:

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        原因3:規(guī)模效應(yīng)

        語(yǔ)言簡(jiǎn)單易學(xué),支持庫(kù)豐富強(qiáng)大,這兩大支柱從早期就奠定了Python的江湖地位。

        根據(jù)以高收入國(guó)家Stack Overflow問(wèn)題閱讀量為基礎(chǔ)的主要編程語(yǔ)言趨勢(shì)統(tǒng)計(jì),可以看出,近年來(lái),Python已然力壓Java和Javascript,成為目前發(fā)達(dá)國(guó)家增長(zhǎng)最快的編程語(yǔ)言(見(jiàn)下圖)。

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        由圖可見(jiàn),2012年之后,對(duì)于Python相關(guān)問(wèn)題的瀏覽量迅速增長(zhǎng),從時(shí)間上看,這一趨勢(shì)正好和近幾年人工智能的發(fā)展重合。

        總結(jié):

        技術(shù)的普及推廣就像滾雪球,早期的積累相對(duì)緩慢,一旦過(guò)了臨界點(diǎn),就是大爆發(fā)。中國(guó)已進(jìn)入人工智能迅速發(fā)展的時(shí)代,而當(dāng)下熱門的Python被認(rèn)為是現(xiàn)階段人工智能技術(shù)的首選編程語(yǔ)言。

        如今,Python在AI領(lǐng)域的老大地位已經(jīng)奠定。

        若要學(xué)AI,舍Python其誰(shuí)?

        請(qǐng)關(guān)注+私信回復(fù):“測(cè)試”就可以免費(fèi)拿到軟件測(cè)試學(xué)習(xí)資料。

        人工智能最火編程語(yǔ)言:Python大戰(zhàn)Java,Python為何能穩(wěn)坐頭牌?

        推薦閱讀:薇婭直播