1.其实配合numpy更强,这里没有涉及.
---创建类似于 .py 的pyx文件
hello.pyx
def say_hello_to(name):
print("Hello %s!" % name)
2.编写python程序 setup.py,其目的是把 hello.pyx程序转化成hello.c ,并编译成so文件
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [Extension("hello", ["hello.pyx"])]
setup(
name = 'Hello world app',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
3.用python命令执行 编译,这是在shell 外部执行,不进入 python
zabby@zabby:~$ python setup.py build_ext --inplace
4. python调用 so文件 ,这个时候核心是C
所以运行速度块 ,python只是调用文件中的方法而已
import hello
hello.say_hello_to("hi,cython!!")
ps: 这一段可以直接 shell 进入python 终端 , 输入就能执行,不必新建 test.py