日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

cpython和ipython_什么是CPython、Ipython、PyPy

發(fā)布時間:2024/3/24 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cpython和ipython_什么是CPython、Ipython、PyPy 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CPython

當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 3.5后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執(zhí)行。

IPython

IPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。好比很多國產(chǎn)瀏覽器雖然外觀不同,但內(nèi)核其實都是調(diào)用了IE。

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

Pypy是用Python自身實現(xiàn)的解釋器。針對CPython的缺點進(jìn)行了各方面的改良,性能得到很大的提升。最重要的一點就是Pypy集成了JIT。但是,Pypy無法支持官方的C/Python API,導(dǎo)致無法使用例如Numpy,Scipy等重要的第三方庫。這也是現(xiàn)在Pypy沒有被廣泛使用的原因吧。

PyPy是另一個Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對Python代碼進(jìn)行動態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。

絕大部分Python代碼都可以在PyPy下運(yùn)行,但是PyPy和CPython有一些是不同的,這就導(dǎo)致相同的Python代碼在兩種解釋器下執(zhí)行可能會有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點。

psyco (被PyPy代替)

CPython最大的問題是他的C API,這部分沒有很好的設(shè)計。其他部分的實現(xiàn)多少都受此影響。

當(dāng)前CPython的架構(gòu)過于簡單,因而限制比較大,很難做到像JIT編譯器那樣的功能

PyPy已經(jīng)支持多平臺 (x86, 64_x86, ARM)

異步編程,yPy內(nèi)置的 greenlet 比CPython的C擴(kuò)展更適合一些

速度 – PyPy內(nèi)置的JIT很棒,有時(其實很少)甚至可以與C相提并論

粘合代碼 – 使用cffi可以簡單的處理C庫,甚至比CPython的ctypes還要快

方便應(yīng)用在web和移動中 。

PyPy 是趨勢。

總結(jié)

以上是生活随笔為你收集整理的cpython和ipython_什么是CPython、Ipython、PyPy的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。