# 使用C扩展

CPython 还为开发者实现了一个有趣的特性，使用 Python 可以轻松调用 C 代码。

开发者有三种方法可以在自己的 Python 代码中来调用 C 编写的函数──`ctypes`，`SWIG`，`Python/C API`。每种方式也都有各自的利弊。

首先，我们要明确为什么要在 Python 中调用 C？

常见原因如下：

* 你要提升代码的运行速度，而且你知道 C 要比 Python 快50倍以上；
* C 语言中有很多传统类库，而且有些正是你想要的，但你又不想用 Python 去重写它们；
* 想对从内存到文件接口这样的底层资源进行访问；
* 不需要理由，就是想这样做。
