numpy.recarray.flags¶
-
recarray.
flags
¶ 有关数组的内存布局的信息。
笔记
flags
对象可以像字典一样访问(如a.flags['WRITEABLE']
),也可以使用低级属性名称(如a.flags.writeable
)。仅在字典访问中支持短标志名称。只有UPDATEIFCOPY,WRITEABLE和ALIGNED标志可以由用户通过直接赋值到属性或字典条目或通过调用
ndarray.setflags
来更改。数组标志不能任意设置:
- UPDATEIFCOPY只能设置为
False
。 - 如果数据真正对齐,ALIGNED只能设置为
True
。 - 如果数组拥有自己的内存,或者内存的最终所有者暴露了可写缓冲区接口或者是字符串,则WRITEABLE只能设置为
True
。
数组可以同时是C风格和Fortran风格的。这对于1维数组是清楚的,但对于更高维数组也是如此。
Even for contiguous arrays a stride for a given dimension
arr.strides[dim]
may be arbitrary ifarr.shape[dim] == 1
or the array has no elements. 不一般认为self.strides [-1] == self.itemsize / t1>用于C型连续数组或
self.strides [0] == self.itemsize Fortran风格的连续数组是真的。
属性
C_CONTIGUOUS(C) 数据位于单个C样式连续段中。 F_CONTIGUOUS(F) 数据在单个Fortran风格的连续段中。 OWNDATA(O) 数组拥有它使用的内存或从另一个对象借用它。 写(W) 数据区可以写入。将此设置为False将锁定数据,使其为只读。视图(切片等)在创建时从其基本数组继承WRITEABLE,但随后可写锁定数组的视图,同时基本数组保持可写。(相反的是不正确的,因为锁定的数组的视图可能不可写。但是,当前,锁定基础对象不会锁定已经引用它的任何视图,因此在这种情况下,可以通过先前创建的可写视图来更改已锁定数组的内容。)尝试更改不可写入的数组会引发RuntimeError异常。 对齐(A) 数据和所有元素对于硬件适当地对齐。 UPDATEIFCOPY(U) 这个数组是一些其他数组的副本。当此数组被释放时,基数组将使用此数组的内容进行更新。 FNC F_CONTIGUOUS而不是C_CONTIGUOUS。 FORC F_CONTIGUOUS或C_CONTIGUOUS(单段测试)。 BEHAVED(B) 对齐和可写。 卡雷(CA) BEHAVED和C_CONTIGUOUS。 FARRAY(FA) BEHAVED和F_CONTIGUOUS而不是C_CONTIGUOUS。 - UPDATEIFCOPY只能设置为