- 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 setup2 from Cython.Build import cythonize3 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