需要使用的库
pip install cython
创建测试代码
- hanota.pyx(注意文件的后缀名为“pyx”)
def move(n,a,b,c):
if n==1:
print (a,'-->',c)
else:
move(n-1,a,c,b)
move(1,a,b,c)
move (n-1,b,a,c)
- setup.py
from setuptools import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize('./*.pyx'), language='3')
编译(cmd)
# 查看帮助
# python setup.py --help
python setup.py build_ext --inplace
编译结果
创建测试文件
test_pyd.py
from hanota import move
move(3, 'A', 'B', 'C')
将源文件修改为“.pyx”的原因
import只会从后缀为.py/.pyc/.pyo/.so/.pyd的文件中导入模块,不会进入.pyx文件中寻找