简介

使用 Python 和另一种语言混编的好处

至少有以下四个原因:

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

语言扩展工具

打包已有的代码和其他语言的库

  • 使用手写的扩展模块
  • Cython - C/C++
  • SWIG - C/C++
  • f2py - Fortran
  • ctypes - 其他语言库

加速 Python

  • 使用手写的扩展模块
  • Cython
  • Weave
  • Shedskin 和其他模块

原文: https://nbviewer.jupyter.org/github/lijin-THU/notes-python/blob/master/07-interfacing-with-other-languages/07.01-introduction.ipynb