mirror of
https://github.com/apachecn/ailearning.git
synced 2026-02-08 21:04:33 +08:00
27 lines
948 B
Markdown
27 lines
948 B
Markdown
# 简介
|
||
|
||
## 使用 Python 和另一种语言混编的好处
|
||
|
||
至少有以下四个原因:
|
||
|
||
1. `Best of both worlds` - 结合两种语言的优点:已经优化和测试过的代码库 + Python 的灵活
|
||
2. `Python as glue` - **Python** 作为连接的桥梁,将很多其他语言的模块结合到一个大型程序中
|
||
3. `Speed up Python` - 使用一个更快的语言帮助加速 **Python**
|
||
4. `Division of labor` - 各司其职,让各个语言做各自更擅长的事情,例如 **Fortran** 进行数组计算,**Python** 处理测试,文件读写,文本处理,数据整理,GUI 生成,HTTP 服务等等。
|
||
|
||
## 语言扩展工具
|
||
|
||
### 打包已有的代码和其他语言的库
|
||
|
||
* 使用手写的扩展模块
|
||
* `Cython` - **C/C++**
|
||
* `SWIG` - **C/C++**
|
||
* `f2py` - **Fortran**
|
||
* `ctypes` - 其他语言库
|
||
|
||
### 加速 Python
|
||
|
||
* 使用手写的扩展模块
|
||
* `Cython`
|
||
* `Weave`
|
||
* `Shedskin` 和其他模块 |