NumPy C-API#

当心那些不愿理会细节的人。
William Feather, Sr.
真相就在那里。
Chris Carter, The X Files

NumPy 提供了一个 C-API,允许用户扩展系统并访问数组对象以在其他例程中使用。真正了解 C-API 的最佳方法是阅读源代码。但是,如果您不熟悉 (C) 源代码,这在开始时可能是一项艰巨的任务。请放心,随着实践,这项任务会变得更容易,您可能会惊讶于 C 代码的简单易懂。即使您不认为自己能从头开始编写 C 代码,理解和修改已经写好的源代码也比从头开始创建要容易得多。

Python 扩展特别容易理解,因为它们都具有非常相似的结构。诚然,NumPy 不是一个简单的 Python 扩展,可能需要多花一点时间才能理解。这尤其是因为代码生成技术,它简化了非常相似代码的维护,但也可能使代码对于初学者来说更难阅读。尽管如此,只要坚持下去,您就能理解代码。我希望本 C-API 指南能够帮助您熟悉使用 NumPy 进行编译级工作,从而从您的代码中挤出最后一点必要的速度。