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 进行编译级别的工作,以便从你的代码中挤出最后一点必要的速度.