- Python
一種支持面向對象和函數式(面向過程)的高級編程語言
- CPython
由 C 語言編譯,一種默認的,通常我們所提及的基於 C 的 Python 的一種實現
- Cython
一種 Python 到 C 的一種轉換器,用於對 CPyhton 做模塊擴展,在一定程度上可以有一定的性能提升
- Jython
一種設計運行在 Java 平台的 Python 編程語言的實現
- IronPython
一種設計運行在 .NET CLR 平台的 Python 編程語言的實現
- PyPy
具有即時編譯(JIT)功能的 Python 編程語言的實現
注:雖然 Python 可以支持多線程的概念,由於 CPython 具有全局解釋鎖(GIL)的概念,這會導致 CPython 的一個進程最多只能使用一個 CPU 內核,不支持單一進程多任務並行執行。
1. 如何鑒別你所使用的 Python 的實現類型:
>>>import platform >>>print platform.python_implementation() CPython >>>
2. Cython 演示
- 創建 Python 源代碼文件 hello.py
1 #-*- encoding:utf-8 -*- 2 3 def say_hi(): 4 print 'hello world'
- 使用 Cython 轉換 .py => .c
$cython hello.py -o hello.c
- 創建 Setup.py 文件
1 from distutils.core import setup 2 from Cython.Build import cythonize 3 4 setup(name = 'Hello world app', 5 ext_modules = cythonize('hello.py'))
- 編譯並構建
$python setup.py build_ext --inplace
- 安裝
$python setup.py install
- 測試
$python -c "from hello import say_hi; say_hi();" hello world
