http://docs.python.org/2/c-api/buffer.html
诠释
内存表示为多维数组的维数。如果为 0,则步幅和子偏移量必须为 NULL。
这在现实世界中的用途是什么?它是否用于分散聚集矢量缓冲区?
http://docs.python.org/2/c-api/buffer.html
诠释
内存表示为多维数组的维数。如果为 0,则步幅和子偏移量必须为 NULL。
这在现实世界中的用途是什么?它是否用于分散聚集矢量缓冲区?
使用ndim
andshape
主要用于多维固定形状数组。例如,如果您想从头开始构建NumPy之类的东西,您可以围绕缓冲区 API 构建它。还有一些变体可以使 NumPy、PIL 和包装典型 C 和 Fortran 数组处理库的模块变得简单。
如果您进一步阅读,接下来的两个值都表示“查看复杂数组以获取更多信息”。如果您单击该链接,它会为您提供一个执行 NumPy 之类的示例,并描述它的工作原理。
另请参阅PEP 3118了解一些基本原理。
它不是(主要)用于锯齿形阵列,例如分散/聚集使用。虽然您可以为此使用 PIL 样式的子偏移量,但通常只使用缓冲区列表或数组更简单(当然,除非您尝试与 PIL 交互)。
(旧式缓冲区 API确实支持专门为类似分散/聚集的使用而设计的模式,但它在 Python 3.x 中被删除,并且在 3.x API 被反向移植后在 2.6+ 中被弃用,主要是因为没有人使用过它。)