欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python和JavaScript間代碼轉(zhuǎn)換的4個(gè)工具

 更新時(shí)間:2016年02月22日 09:45:22   投稿:mrr  
JavaScript 已經(jīng)成為眾多其它編程語言爭相選擇的轉(zhuǎn)換目標(biāo)(相關(guān)實(shí)例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 則擁有龐大的追隨者群體,另外現(xiàn)有的強(qiáng)大庫資源則使其成為面向 JavaScript 的理想待轉(zhuǎn)換或者說轉(zhuǎn)譯選項(xiàng)

選 Python 還是 JavaScript?雖然不少朋友還在爭論二者目前誰更強(qiáng)勢、誰又擁有著更為光明的發(fā)展前景,但毫無疑問,二者的競爭在 Web 前端領(lǐng)域已經(jīng)擁有明確的答案。立足于瀏覽器平臺,如果放棄 JavaScript,我們也就沒什么可選擇的項(xiàng)目了。

好吧,也許答案也不是這么絕對。JavaScript 已經(jīng)成為眾多其它編程語言爭相選擇的轉(zhuǎn)換目標(biāo)(相關(guān)實(shí)例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 則擁有龐大的追隨者群體,另外現(xiàn)有的強(qiáng)大庫資源則使其成為面向 JavaScript 的理想待轉(zhuǎn)換或者說轉(zhuǎn)譯選項(xiàng)。

下面來看四個(gè)能夠順利將 Python 帶入 JavaScript 世界的項(xiàng)目; 而其中一款更是憑借著靈活的雙向轉(zhuǎn)換能力而鶴立雞群。

Transcrypt

這是一款新近崛起的 Python 到 JS 轉(zhuǎn)譯器。Transcrypt 對于自身所生成代碼的質(zhì)量水平做出了令人印象深刻的承諾。首先,它會盡可能多地保留原始的 Python 代碼結(jié)構(gòu),包括多重繼承以及 lambda 表達(dá)式。Python 源代碼也可以直接對 JavaScript 中命名空間內(nèi)的對象進(jìn)行調(diào)用。如果大家嘗試訪問 Python 中的 document.getElementById,則轉(zhuǎn)換后的代碼也將在JavaScript 當(dāng)中切換使用 document.getElementById。

根據(jù)說明文檔的介紹,Transcrypt 是利用 CPython 的抽象語法樹模塊完成這些轉(zhuǎn)譯任務(wù)的,其能夠根據(jù) Python 對自身代碼的解析方式進(jìn)行編程訪問。盡管該項(xiàng)目目前仍處于 alpha 測試階段,但已經(jīng)顯示出了非常驚人的吸引力。

Jiphy

所謂 Jiphy,代表的是“JavaScript 入,Python 出”——也就是能夠?qū)Χ哌M(jìn)行雙向轉(zhuǎn)換。另外,來自兩種語言的代碼都能夠在被轉(zhuǎn)換為另一種語言之前進(jìn)行混合。

Jiphy 目前的最大短板在于其僅支持 Python 的一部分功能集。類以及默認(rèn)參數(shù)尚不受支持,不過裝飾器與例外機(jī)制已經(jīng)可以正常使用。這主要是因?yàn)?Jiphy 堅(jiān)持在源代碼與目標(biāo)代碼之間采用行對行直接轉(zhuǎn)譯方式,不過其開發(fā)人員也開始著眼于 ES6 中的新功能,旨在將更多高級 Python 功能納入支持范疇。

Brython

也許有一天,當(dāng) WebAssembly 設(shè)想成為現(xiàn)實(shí),那么我們將能夠選擇任何自己偏好的語言進(jìn)行 Web 開發(fā)。而 Brython 對此——或者說至少適用于 Python 3——有著自己的理解:為什么要等?

Brython 通過一套 JavaScript 庫對 Python 3 中的全部關(guān)鍵字以及大多數(shù)內(nèi)置插件進(jìn)行模擬,從而實(shí)現(xiàn)了將 Python 3 版本作為客戶端 Web 編程方案的目標(biāo)。由 Python 編寫的腳本可以被直接添加到網(wǎng)絡(luò)頁面當(dāng)中,而 Brython 還支持一套高級 Python模塊界面(browser),用于同 DOM 進(jìn)行執(zhí)行協(xié)作,且該瀏覽器通常可在 JavaScript 中直接完成。

然而,Brython 也保持了瀏覽器給 JavaScript 代碼帶來的限制——例如不支持對本地文件系統(tǒng)進(jìn)行處理。

RapydScript

RapydScript 承諾“讓 Python 式 JavaScript 代碼不再糟糕。”該項(xiàng)目在概念上類似于 CoffeeScript:以 Python 形式進(jìn)行代碼編寫,生成 JavaScript 代碼,并同時(shí)發(fā)揮二者的最佳特性。在 Python 方面,其擁有清晰的語法規(guī)則; 而在 JavaScript 方面,其擁有匿名函數(shù)、DOM 操作并能夠使用 jQuery 或者 Node.js 內(nèi)核等現(xiàn)有 JavaScript 庫。

相關(guān)文章

  • python中的type,元類,類,對象用法

    python中的type,元類,類,對象用法

    這篇文章主要介紹了python中的type,元類,類,對象用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 程序猿新手學(xué)習(xí)必備的Python工具整合

    程序猿新手學(xué)習(xí)必備的Python工具整合

    這篇文章主要介紹了程序猿新手必備的Python工具整合,Python 是一種開源編程語言,用于 Web 編程、數(shù)據(jù)科學(xué)、人工智能和許多科學(xué)應(yīng)用
    2021-09-09
  • 基于python實(shí)現(xiàn)分析識別文章/內(nèi)容中的高頻詞和關(guān)鍵詞

    基于python實(shí)現(xiàn)分析識別文章/內(nèi)容中的高頻詞和關(guān)鍵詞

    要分析一篇文章的高頻詞和關(guān)鍵詞,可以使用 Python 中的 nltk 庫和 collections 庫或者jieba庫來實(shí)現(xiàn),本篇文章介紹基于兩種庫分別實(shí)現(xiàn)分析內(nèi)容中的高頻詞和關(guān)鍵詞,需要的朋友可以參考下
    2023-09-09
  • python中and和or邏輯運(yùn)算符的用法示例

    python中and和or邏輯運(yùn)算符的用法示例

    python中的邏輯運(yùn)算符有兩種返回值,python運(yùn)算符除了能操作bool類型表達(dá)式,還能操作其他所有類型的表達(dá)式,這篇文章主要給大家介紹了關(guān)于python中and和or邏輯運(yùn)算符用法的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 利用python寫api接口實(shí)戰(zhàn)指南

    利用python寫api接口實(shí)戰(zhàn)指南

    api接口在我們開發(fā)中的重要性相信大家都這篇文章主要給大家介紹了關(guān)于利用python寫api接口實(shí)戰(zhàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例

    python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例

    今天小編就為大家分享一篇python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例

    Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例

    這篇文章主要介紹了Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python筆記之代理模式

    Python筆記之代理模式

    這篇文章主要為大家詳細(xì)介紹了Python筆記之代理模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • python忽略警告(warning)的3種方法小結(jié)

    python忽略警告(warning)的3種方法小結(jié)

    python開發(fā)中經(jīng)常遇到報(bào)錯(cuò)的情況,但是warning通常并不影響程序的運(yùn)行,而且有時(shí)特別討厭,下面我們來說下如何忽略warning錯(cuò)誤,這篇文章主要給大家介紹了關(guān)于python忽略警告(warning)的3種方法,需要的朋友可以參考下
    2023-10-10
  • flask框架渲染Jinja模板與傳入模板變量操作詳解

    flask框架渲染Jinja模板與傳入模板變量操作詳解

    這篇文章主要介紹了flask框架渲染Jinja模板與傳入模板變量操作,結(jié)合實(shí)例形式詳細(xì)分析了flask框架模板相關(guān)原理、模板渲染、傳入?yún)?shù)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-01-01

最新評論