至少有以下四个原因:
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
- 其他语言库
- 使用手写的扩展模块
Cython
Weave
Shedskin
和其他模块