至少有以下四个原因:
Best of both worlds- 结合两种语言的优点:已经优化和测试过的代码库 + Python 的灵活Python as glue- Python 作为连接的桥梁,将很多其他语言的模块结合到一个大型程序中Speed up Python- 使用一个更快的语言帮助加速 PythonDivision of labor- 各司其职,让各个语言做各自更擅长的事情,例如 Fortran 进行数组计算,Python 处理测试,文件读写,文本处理,数据整理,GUI 生成,HTTP 服务等等。
- 使用手写的扩展模块
Cython- C/C++SWIG- C/C++f2py- Fortranctypes- 其他语言库
- 使用手写的扩展模块
CythonWeaveShedskin和其他模块