NumPy C-API

Beware of the man who won’t be bothered with details.

William Feather, Sr.

The truth is out there.

Chris Carter, The X Files

NumPy提供了一个C-API,使用户能够扩展系统并访问数组对象,以便在其他例程中使用。真正理解C-API的最好方法是阅读源代码。 但是,如果您不熟悉(C)源代码,一开始这可能是一种令人畏惧的体验。 请放心,随着练习的进行,任务会变得更容易,您可能会惊讶于C代码可以如此简单地理解。 即使您不认为可以从头开始编写C代码,理解和修改已经编写的源代码也要容易得多,然后从头开始创建它。

Python扩展特别容易理解,因为它们都具有非常相似的结构。 诚然,NumPy不是Python的一个微不足道的扩展,可能需要更多的窥探才能掌握。 这是由于代码生成技术的缘故,这些技术简化了非常相似的代码的维护,但会使代码对初学者的可读性稍差一些。 不过,只要稍加坚持,代码就可以开放给您理解。我希望这本C-API指南可以帮助您熟悉可以用NumPy完成的编译级工作, 以便从您的代码中挤出最后一点必要的速度。