Python幾乎是近幾年最火的一門計(jì)算機(jī)語言。借著機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí)的興起,Python的發(fā)展搭上了快車。那么Python是學(xué)什么的?能做什么?如今深度學(xué)習(xí)領(lǐng)域最常用的兩大框架TensorFlow和PyTorch都是基于Python的,所以學(xué)會(huì)Python幾乎是所有做相關(guān)研究的人必備的技術(shù)。首先讓我們來看看Python的語言優(yōu)勢(shì)膠水特性。
Python的膠水特性
Python相對(duì)于其他的語言優(yōu)勢(shì)很多,但是我想說的是它的“膠水”特性。
我們都知道,每一種語言都有其特長,比如C語言的迅速,Java的“一處編譯,多處運(yùn)行”,R語言廣泛的統(tǒng)計(jì)學(xué)的包和Julia的計(jì)算快速。但是同時(shí)每一門語言都為這個(gè)特長犧牲了其他的性能。
Python可以作為膠水讓你使用各個(gè)語言的特長,我們能在Python中使用C、Java、R和Julia,并且現(xiàn)在都已經(jīng)有成熟的包讓我們方便地使用。這些都是Python大行其道的原因。
其實(shí)計(jì)算機(jī)語言中馬太效應(yīng)是很明顯的,也就是強(qiáng)者越強(qiáng),弱者越弱。
在前幾年做深度學(xué)習(xí)研究的人還在用Matlab,是因?yàn)橹暗暮芏嗄P投际怯肕atlab寫的,并且Matlab可以很方便地做矩陣運(yùn)算。
但是隨著近幾年P(guān)ython的包越來越完善,加上Google和Facebook分別發(fā)力做出了兩個(gè)框架,Matlab終于壽終正寢,不再是人們研究的第一選擇。
其實(shí)Python在前幾年一直頂著一個(gè)“慢”的名頭,是因?yàn)樗莻€(gè)弱類型的語言,在運(yùn)行的時(shí)候需要?jiǎng)討B(tài)解釋。
這就相當(dāng)于在運(yùn)行的時(shí)候需要做很多的判斷,速度自然就慢下去了。也就是近幾年通過很多的優(yōu)化,并且Python社區(qū)的發(fā)展,人們才慢慢地能夠忍受這種慢,前提還是很多底層代碼是用C來寫的。
所以,一門語言的大行其道并不一定是性能最優(yōu)的。這就涉及到為什么Python被大家喜愛?
Python的突出特性在于它好上手
每一個(gè)C語言的初學(xué)者,如果想寫出一個(gè)界面的話是很難的,所以C語言程序的運(yùn)行都是在一個(gè)黑框框里。但是Python可以很方便地寫出界面,雖然運(yùn)行速度不一定快。
之前有人用200行代碼寫出了FlappyBird就是Python的優(yōu)勢(shì)的體現(xiàn)。所以隨著代碼更新?lián)Q代越來越快,而計(jì)算資源越來越多,人的操作的便捷性反而是最重要的。
如此一來,Python方才成為寵兒。
Python會(huì)不會(huì)被替代呢
當(dāng)然,現(xiàn)在就有人暗戳戳地想用swift來替代它啊,但是語言的更新?lián)Q代并不一定是一件壞事。雖然程序員需要重新去學(xué)習(xí),但是學(xué)習(xí)成本肯定是越來越低的,而語言肯定是越來越先進(jìn)的。
如果把計(jì)算機(jī)語言看成人與機(jī)器打交道的手段,我相信,這個(gè)手段會(huì)越來越有效,也越來越簡單。
以上就是關(guān)于Python是學(xué)什么的以及能做什么的全部內(nèi)容,想了解更多關(guān)于Python的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。