cpython和ipython_什么是CPython、Ipython、PyPy
CPython
當我們從Python官方網站下載并安裝好Python 3.5后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。
CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。
IPython
IPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。
CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。
Pypy是用Python自身實現的解釋器。針對CPython的缺點進行了各方面的改良,性能得到很大的提升。最重要的一點就是Pypy集成了JIT。但是,Pypy無法支持官方的C/Python API,導致無法使用例如Numpy,Scipy等重要的第三方庫。這也是現在Pypy沒有被廣泛使用的原因吧。
PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。
絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要了解PyPy和CPython的不同點。
psyco (被PyPy代替)
CPython最大的問題是他的C API,這部分沒有很好的設計。其他部分的實現多少都受此影響。
當前CPython的架構過于簡單,因而限制比較大,很難做到像JIT編譯器那樣的功能
PyPy已經支持多平臺 (x86, 64_x86, ARM)
異步編程,yPy內置的 greenlet 比CPython的C擴展更適合一些
速度 – PyPy內置的JIT很棒,有時(其實很少)甚至可以與C相提并論
粘合代碼 – 使用cffi可以簡單的處理C庫,甚至比CPython的ctypes還要快
方便應用在web和移動中 。
PyPy 是趨勢。
總結
以上是生活随笔為你收集整理的cpython和ipython_什么是CPython、Ipython、PyPy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uni-app导入到微信开发工具失败端口
- 下一篇: 家用计算机cpu,年终聊装机 主流家用电