NumPy C-API#

要提防那些不愿为细节操心的人.
— William Feather, Sr.
真相就在那里.
— Chris Carter, X档案

NumPy 提供了一个 C-API,使用户能够扩展系统并访问数组对象以用于其他例程.真正理解 C-API 的最佳方法是阅读源代码.但是,如果您不熟悉 (C) 源代码,那么一开始这可能是一项艰巨的任务.请放心,通过练习,这项任务会变得更容易,您可能会惊讶于 C 代码是多么容易理解.即使您认为自己无法从头开始编写 C 代码,也比从头开始创建源代码更容易理解和修改已编写的源代码.

Python 扩展特别容易理解,因为它们都具有非常相似的结构.诚然,NumPy 并不是 Python 的一个简单的扩展,可能需要一些探索才能掌握.尤其因为代码生成技术简化了非常相似代码的维护,但这可能会使初学者觉得代码的可读性降低.不过,只要坚持一下,代码就可以被你理解.我希望这篇 C-API 指南可以帮助你熟悉用 NumPy 完成的编译级工作,以便从你的代码中挤出最后一点所需的速度.