NumPy C-API#
小心那个不愿被细节困扰的人。
— William Feather, Sr.
真相就在那里。
— Chris Carter, 《X档案》
NumPy 提供 C-API,使用户能够扩展系统并访问数组对象,以便在其他例程中使用。真正理解 C-API 的最佳方法是阅读源代码。然而,如果您不熟悉(C)源代码,这开始可能是一次艰巨的经历。请放心,随着实践的积累,这项任务会变得更容易,您可能会惊讶于 C 代码可以多么简单易懂。即使您认为自己无法从头开始编写 C 代码,理解和修改已编写的源代码也比从头开始创建它要容易得多。
Python 扩展尤其容易理解,因为它们都具有非常相似的结构。不可否认,NumPy 对 Python 来说是一个不那么简单的扩展,可能需要花些时间去掌握。这尤其归因于代码生成技术,这些技术简化了大量相似代码的维护,但对初学者来说可能会降低代码的可读性。尽管如此,只要稍加坚持,代码就可以向您敞开理解的大门。我希望本 C-API 指南能帮助您熟悉使用 NumPy 可以完成的编译级工作,从而从代码中榨取最后一丝必要的性能。