Python 里嵌 C/C++的事,其实不少人早就干了,python-weave就是个挺实用的老工具。它的玩法是:你在 Python 代码里直接塞 C++代码,它能帮你编译成机器能跑的二进制,响应也快,尤其在数值计算场景里,效率确实拉满。

压缩包weave-0.16.0里头包含完整源代码,解压后用setup.py一键安装就行。嗯,别忘了提前装好 Python 和pip。Python 2 的朋友还要装下setuptools,Python 3 一般自带。

比如你写了个square_root的 C++函数,用inline就能直接在 Python 里调,像下面这样:

from weave import inline
cpp_code = """
double result = square_root(input);
"""
inputs = {'input': 16.0}
outputs = {'result': 'double'}
inline(cpp_code, inputs, outputs)
print('The square root is:', outputs['result'])

你看,就一段 Python,背后却跑着 C++,挺带感的。不过要提醒下,Weave 现在不再维护,所以新项目更建议你上手NumPy或者SciPy,社区活跃,支持也多。

但如果你要接手老项目,或者想搞清楚底层怎么加速,那它还是个不错的切入口。,玩这个别怕折腾,试几次自然就熟了。