NumPy C-API#
提防那些不屑于细节的人。
— 小威廉·费瑟 (William Feather, Sr.)
真相就在那里。
— 克里斯·卡特 (Chris Carter),《X 档案》
NumPy 提供了一个 C-API,使用户能够扩展系统并访问数组对象以用于其他例程。真正理解 C-API 的最佳方式是阅读源代码。但是,如果您不熟悉 (C) 源代码,这可能一开始会是令人生畏的经历。请放心,这项任务会随着练习而变得更容易,您可能会惊讶于 C 代码的理解可以多么简单。即使您认为自己无法从头开始编写 C 代码,理解和修改已编写的源代码也比从零开始创建它容易得多。
Python 扩展尤其易于理解,因为它们都具有非常相似的结构。诚然,NumPy 并不是 Python 的一个微不足道的扩展,可能需要更多一点的探究才能掌握。这尤其因为代码生成技术,它简化了非常相似代码的维护,但可能使代码对初学者来说可读性稍差。尽管如此,只要有一点毅力,代码就能被您理解。我希望,这份 C-API 指南能帮助您熟悉 NumPy 可以进行的编译级工作,以便从您的代码中榨取最后一丝必要的性能。