NumPy参考 >数组对象 >N维数组(ndarray) >numpy.ndarray.tolist > numpy.ndarray.flags
属性
ndarray.
flags
¶有关阵列的内存布局的信息。
笔记
所述flags
对象可以类似于字典的(如在被访问a.flags['WRITEABLE']
),或通过使用小写属性名称(如a.flags.writeable
)。短标志名仅在字典访问中受支持。
通过直接分配给属性或字典条目或调用,用户只能更改WRITEBACKIFCOPY,UPDATEIFCOPY,WRITEABLE和ALIGNED标志ndarray.setflags
。
数组标志不能任意设置:
只能设置UPDATEIFCOPY False
。
只能设置WRITEBACKIFCOPY False
。
仅True
当数据真正对齐后才能设置ALIGNED 。
仅True
当阵列拥有自己的内存或内存的最终所有者公开了可写缓冲区接口或为字符串时,才可以设置WRITEABLE 。
数组可以同时是C样式和Fortran样式连续的。对于一维数组,这是显而易见的,但对于高维数组,也可能如此。
即使对于连续的数组,如果
或数组没有元素,则给定维度的跨度
arr.strides[dim]
可能是任意的。它不是通常认为
的C样式连续阵列或Fortran的风格连续阵列是真实的。arr.shape[dim] == 1
self.strides[-1] == self.itemsize
self.strides[0] == self.itemsize
数据在单个C样式连续段中。
数据在单个Fortran样式的连续段中。
该数组拥有它使用的内存或从另一个对象借来的内存。
数据区可以被写入。将此设置为False会锁定数据,使其成为只读数据。视图(切片等)在创建时会从其基本数组继承WRITEABLE,但是可写数组的视图可能随后在基本数组保持可写状态时被锁定。(相反的说法是不正确的,因为锁定数组的视图可能无法写入。但是,当前,锁定基础对象不会锁定已经引用该对象的任何视图,因此在这种情况下,可以更改内容通过先前创建的可写视图将其锁定。)尝试更改不可写数组会引发RuntimeError异常。
数据和所有元素都针对硬件进行了适当对齐。
该数组是其他数组的副本。必须先调用C-API函数PyArray_ResolveWritebackIfCopy,然后才能使用该数组的内容更新分配给基本数组的内容。
(不建议使用,请使用WRITEBACKIFCOPY)此数组是其他一些数组的副本。释放此数组后,基本数组将使用该数组的内容进行更新。
F_CONTIGUOUS,而不是C_CONTIGUOUS。
F_CONTIGUOUS或C_CONTIGUOUS(单段测试)。
已对齐且可写。
行为和C_CONTIGUOUS。
行为和F_CONTIGUOUS,而不是C_CONTIGUOUS。