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