溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

為什么Python像JavaScript

發(fā)布時間:2021-07-19 09:23:16 來源:億速云 閱讀:141 作者:chen 欄目:web開發(fā)

這篇文章主要介紹“為什么Python像JavaScript”,在日常操作中,相信很多人在為什么Python像JavaScript問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”為什么Python像JavaScript”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

原因是:1、Js運算符與Python中的相似;2、Js數(shù)據(jù)類型與Python中的相似;3、Js與Python的原生語法對迭代器和生成器的支持;4、Js中的Proxy和Reflection與Python中通過“__xxx__”重寫運算符。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

首先,JavaScript本身就是一個借鑒了很多其它語言的雜糅體,JavaScript的創(chuàng)始人Brendan Eich曾戲稱”它是C語言和Self語言一夜情的產(chǎn)物?!?。其次,隨著現(xiàn)代編程語言的發(fā)展,趨同肯定是一個趨勢,畢竟“完善的語言總是相似的,不完善的語言各有各的不完善?!?/p>

但是,應(yīng)該說JavaScript與Python在實現(xiàn)機制上有本質(zhì)的不同,譬如前者是借鑒Self語言基于原型(Prototype)的,而后者是基于類(Class)的。我想題主之所以覺得JavaScript正在變得越來越像Python,主要是感覺兩者都提供了許多相似的“語法糖”,比如:

(1)(JavaScript中的...運算符) 與 (Python中的*和**運算符)

(2)(JavaScript中的Set和Map數(shù)據(jù)類型)與 (Python中的Set和Dictionary數(shù)據(jù)類型)

(3)JavaScript與Python的原生語法對迭代器和生成器的支持

(4)(JavaScript中的Proxy和Reflection) 與 (Python中通過__xxx__重寫運算符)

等等諸如此類,特別是ES2015之后新增的一些語法特性,確實讓人感覺很多都借鑒自Python。但也可以說,一門成熟的、完善的腳本語言最終都會提供這些語言特性,不一定是誰學(xué)誰,而可能是在開發(fā)需求和開發(fā)理念的推動下自發(fā)的趨同,就像鳥類和蝙蝠各自進(jìn)化出了翅膀——這在生物學(xué)上叫做趨同進(jìn)化。

再來說既然“完善的語言總是相似的“,那為什么不統(tǒng)一成同一種語言的問題。我覺得這跟語言生態(tài)有很大關(guān)系,一些語言在發(fā)展的過程中在某一領(lǐng)域積累了大量的第三方庫和問題解決方案,漸漸出現(xiàn)馬太效應(yīng),使得在解決該領(lǐng)域的問題時有的語言只需要引入庫函數(shù),有的語言則要連篇累牘地寫很長的代碼。

荒漠不是不可以變成綠洲,只是一件事的可行性不僅要考慮自然規(guī)律的可行性還要考慮經(jīng)濟成本的可行性。以前端為例,如果在前端使用Python,那很多前端庫要再寫一遍、很多博客要再寫一遍。去MDN看看JavaScript提供的前端API的數(shù)量、去CSDN看看相關(guān)博客的數(shù)量,就知道其工程之浩繁。雖然現(xiàn)在推出了WebAssembly,使得其它語言也可以在瀏覽器上運行,但是依然要調(diào)用JavaScript的API。

自然演化出來的多元,看似混亂,卻往往好于人類構(gòu)想出來的統(tǒng)一。

到此,關(guān)于“為什么Python像JavaScript”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI