numpy.ndarray.flags

属性

ndarray.flags

有关数组内存布局的信息。

笔记

这个 flags 对象可以访问字典,如 a.flags['WRITEABLE'] 或者使用低基属性名(如 a.flags.writeable )只有在字典访问中才支持短标志名。

用户只能通过直接分配给属性或字典项或通过调用 ndarray.setflags .

数组标志不能任意设置:

  • 只能设置updateifcopy False .

  • 只能设置writebackifcopy False .

  • 只能设置对齐 True 如果数据真正对齐。

  • 只能设置可写 True 如果数组拥有自己的内存或内存的最终所有者公开了可写缓冲区接口或是字符串。

数组可以同时为C样式和Fortran样式。这对于一维数组来说是显而易见的,但对于更高维数组也是如此。

即使对于连续的数组,对于给定的维也是一个步骤。 arr.strides[dim] 可能是 任意的 如果 arr.shape[dim] == 1 或者数组没有元素。它确实 not 一般认为 self.strides[-1] == self.itemsize 对于C型连续数组或 self.strides[0] == self.itemsize 对于Fortran样式,连续数组为true。

属性
C_CONTIGUOUS (C)

数据位于单个C样式的连续段中。

F_CONTIGUOUS (F)

数据位于单个Fortran样式的连续段中。

拥有数据(o)

数组拥有它使用的内存,或者从另一个对象借用它。

可写的(W)

数据区域可以写入。将此设置为false将锁定数据,使其为只读。视图(切片等)在创建时从其基数组继承可写,但可写数组的视图随后可能被锁定,而基数组仍保持可写状态。(相反,锁定数组的视图不能写入。但是,当前,锁定基对象不会锁定已引用它的任何视图,因此在这种情况下,可以通过以前创建的可写视图更改锁定数组的内容。)尝试更改不可写数组会引发RuntimeError异常。

对齐(a)

数据和所有元素都与硬件适当地对齐。

写回ifcopy(x)

此数组是其他数组的副本。必须先调用C-API函数pyarray_resolvewritebackifcopy,然后才能使用此数组的内容更新对基数组的释放。

更新ifcopy(u)

(已弃用,请使用writebackifcopy)此数组是其他某个数组的副本。释放此数组后,将使用此数组的内容更新基数组。

FNC

F兘连续而非C兘连续。

FORC

F_连续或C_连续(一段测试)。

行为(b)

对齐和可写。

卡雷(CA)

行为和连续。

F阵列(FA)

行为和F兘相邻而非C兘相邻。