cpython與python
㈠ 請問Jython和python的關系是什麼
(1)我來們通常意義上說的自python是CPython,也就是完全用C實現的python,它支持C的擴展,不支持java什麼的擴展。
(2)JPython是完全用JPython實現的python,它支持用java擴展,貌似無法用C擴展。
(3)這兩個東東如果不討論什麼特殊的模塊的話,當然用法相同,打個比方,現在用一個項目,讓你用Fortran來實現python,那你也會盡可能的保持其語法上與另外兩個主流的interpret一致。
(4)這兩個東東,當然有區別,例如CPython就沒有JPython的垃圾回收機制
(5)python還有其他的實現,例如有用.NET實現的.......全是C#
--------------------------------------------------------------------------
(6)至於你說誰的擴展好,我感覺這個很難說,要依據你要寫什麼類型的工程來定
(7)python挺不錯的,現在NASA火星上的那個「好奇號」的程序都是用java編寫的,可能下一個就是python啦!!!!
㈡ 目前cpython調用C/C++的主流手段是cython么
還可以使用Cython來實現混編
1 下載Cython,用Python setup.py install進行安裝
2 一個實例
① 創建helloworld目錄創建helloworld.pyx,內容如下:cdef extern from"stdio.h": extern int printf(const char *format, ...) def SayHello(): printf("hello,world\n")
② 編譯,最方便的是利用python的Distutils了,
helloworld目錄下創建Setup.py,內容如下:from distutils.core import setupfrom distutils.extension import Extensionfrom Cython.Build import cythonize setup( name = 'helloworld', ext_moles=cythonize([ Extension("helloworld", ["helloworld.pyx"]), ]),) 編譯:python Setup.py build安裝:python Setup.py install安裝後,會將在build/lib.???目錄下生成的helloworld.pyd拷貝到Lib/site-packages註: 有時我們只是希望測試一下,並不希望安裝,這時可以把build/lib.???目錄下的helloworld.pyd拷貝到當前目錄 或者在importhelloworld前執行腳本:import sys;sys.path.append(pathof helloworld.pyd) ③ 測試:>>>import helloworld >>>helloworld.SayHello() hello,world
㈢ CPython是什麼PyPy是什麼Python和這兩個東西有什麼關系
CPython:是用語言實現Pyhon,是目前應用最廣泛的解釋器。最新的語言特性都是在這個上面先實現,基本包含了所有第三方庫支持,但是CPython有幾個缺陷,一是全局鎖使Python在多線程效能上表現不佳,二是CPython無法支持JIT(即時編譯),導致其執行速度不及Java和Javascipt等語言。於是出現了Pypy。
Pypy:是用Python自身實現的解釋器。針對CPython的缺點進行了各方面的改良,性能得到很大的提升。最重要的一點就是Pypy集成了JIT。但是,Pypy無法支持官方的C/Python API,導致無法使用例如Numpy,Scipy等重要的第三方庫。這也是現在Pypy沒有被廣泛使用的原因吧。
而PyPy與CPython的不同在於,別的一些python實現如CPython是使用解釋執行的方式,這樣的實現方式在性能上是很凄慘的。而PyPy使用了JIT(即時編譯)技術,在性能上得到了提升。
㈣ Python和Jython的區別簡述
jython用途比較少。主要在兩個場景下:
操作系統不提供cpython, 只有JAVA可以用。比如sun工作站,或者是某些嵌入式設備
不得不用一些JAVA的包來提供功能。所以只能用jython來調用JAR包
jython因為有java的即時編譯器和編譯優化效果,所有速度還是不錯的。性能上還是python高, jython差。
㈤ CPython解釋器是什麼意思如何安裝
將Python源代碼翻譯為位元組碼的程序稱為Python解釋器,CPython是一個用C編寫的Python解釋器,它也是Python自帶的解釋器,包含在Python安裝程序中。
㈥ jython和python的區別是什麼
我們通常意義上說的是cpython,也就是完全用C實現的python,它支持C的擴展,不支持java什麼的擴展。
jython是完全用jython實現的python,它支持用java擴展,貌似無法用C擴展。
相關推薦:《python培訓視頻》
jython用途比較少。主要在兩個場景下:
1、操作系統不提供cpython, 只有JAVA可以用。比如sun工作站,或者是某些嵌入式設備。
2、不得不用一些JAVA的包來提供功能。所以只能用jython來調用JAR包。
jython因為有java的即時編譯器和編譯優化效果,所有速度還是不錯的。
不過jython的總體來講,支持包不夠多。不象是cpython 2.7那樣,幾乎所有的包都支持。極其豐富。不過純python的包都可以在jython上安裝使用。
jython的版本號通常比cpython的要低。不過現在到了2.7也基本上持平了。流行的jython就是2.5,2.7兩個版本。
另外jython似乎對於GIL處理的更好些。所以原則上講,並發性能更好。所以jython的線程應該會比cpython的線程更強大。可以更好的利用到java的性能,把CPU的各個核都用上。
另外內存的使用上,按理jython也可以利用到java的一些優點。cpython通常字典超 過2GB內存就會很慢。也許jython要好些。
總體來講,性能上還是cpython要更快些。最快的是pypy,其次是cython, 再次是cpython, jython應該在後面。
㈦ activepython和python的區別
python 是一門語言。
ActivePython是 ActiveState 公司推出的專用的 Python 編程和調試工具。
簡單說一個是語言,一個軟體。
編程語言除了Python, 還有Perl、Ruby、PHP等很多語言。
Python 編程和調試工具除了ActivePython,也有很多可選的,例如 CPython、PyPy等。
㈧ CPython是什麼PyPy是什麼Python和這兩個東西有什麼關系
CPython:是用C語言實現Pyhon,是目前應用最廣泛的解釋器。最新的語言特性都是在這個上面先實現,基本包含了所有第三方庫支持,但是CPython有幾個缺陷,一是全局鎖使Python在多線程效能上表現不佳,二是CPython無法支持JIT(即時編譯),導致其執行速度不及Java和Javascipt等語言。於是出現了Pypy。
Pypy:是用Python自身實現的解釋器。針對CPython的缺點進行了各方面的改良,性能得到很大的提升。最重要的一點就是Pypy集成了JIT。但是,Pypy無法支持官方的C/Python API,導致無法使用例如Numpy,Scipy等重要的第三方庫。這也是現在Pypy沒有被廣泛使用的原因吧。
而PyPy與CPython的不同在於,別的一些python實現如CPython是使用解釋執行的方式,這樣的實現方式在性能上是很凄慘的。而PyPy使用了JIT(即時編譯)技術,在性能上得到了提升。
㈨ cpython和cython的區別
這里的實現指的是符合Python語言規范的Python解釋程序以及標准庫等。這些實現雖然實現的是同一種語言,但是彼此之間,特別是與CPython之間還是有些差別的
㈩ 用 CPython寫的python代碼能否用JPython解釋器解釋
絕大部分可以,語法差不多,只是底層解釋不同罷了。不過JPython寫的代碼不一定能在cpython下解釋執行,因為JPython中可能會用到JDK中的東西,必須在JVM下執行,這算是JPython對CPython的優勢吧,就是能調用Java,在JVM上解釋執行。