numpy.ndarray.flags
-
ndarray.flags -
Информация о расположении данных массива в памяти.
Примечания
К объекту
flagsможно получить доступ как к словарю (как вa.flags['WRITEABLE']), или используя имена атрибутов в нижнем регистре (как вa.flags.writeable). Короткое имя флага поддерживается только при доступе к нему через словарь.Только флаги UPDATEIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем через непосредственное присвоение значения атрибуту или элементу словаря, или вызов
ndarray.setflags.Флаги массива не могут быть установлены произвольно:
- UPDATEIFCOPY может быть установлен только
False. - ALIGNED может быть установлен только
Trueесли данные действительно выровнены. - WRITEABLE может быть установлен только
Trueесли массив владеет своей памятью или конечный владелец памяти предоставляет интерфейс записи или является строкой.
Массивы могут быть одновременно C-стилевыми и Fortran-стилевыми контигуальными. Это очевидно для одномерных массивов, но также может быть истинным для массивов более высокой размерности.
Даже для контигуальных массивов шаг для данного измерения
arr.strides[dim]может быть произвольным, еслиarr.shape[dim] == 1или у массива нет элементов. Это не обычно справедливо, чтоself.strides[-1] == self.itemsizeдля C-стилевых контигуальных массивов илиself.strides[0] == self.itemsizeдля Fortran-стилевых контигуальных массивов.Атрибуты
C_CONTIGUOUS (C) Данные находятся в одном C-стилевом контигуальном сегменте. F_CONTIGUOUS (F) Данные находятся в одном Fortran-стилевом контигуальном сегменте. OWNDATA (O) Массив владеет памятью, которую использует, или заимствует её от другого объекта. WRITEABLE (W) Область данных может быть записана. Установка этого значения в False блокирует данные, делая их только для чтения. Вид (срез и т. д.) наследует WRITEABLE от своего базового массива во время создания, но вид записываемого массива может быть впоследствии заблокирован, в то время как базовый массив остаётся записываемым. (Обратное неверно, поскольку вид заблокированного массива не может быть сделан записываемым. Однако в настоящее время блокировка базового объекта не блокирует никакие виды, которые уже ссылаются на него, поэтому в этой ситуации можно изменить содержимое заблокированного массива с помощью ранее созданного записываемого вида на него.) Попытка изменить не-записываемый массив вызывает исключение RuntimeError. ALIGNED (A) Данные и все элементы правильно выровнены для оборудования. UPDATEIFCOPY (U) Этот массив является копией некоторого другого массива. При освобождении этого массива базовый массив будет обновлён содержимым этого массива. FNC F_CONTIGUOUS и не C_CONTIGUOUS. FORC F_CONTIGUOUS или C_CONTIGUOUS (тест одного сегмента). BEHAVED (B) ALIGNED и WRITEABLE. CARRAY (CA) BEHAVED и C_CONTIGUOUS. FARRAY (FA) BEHAVED и F_CONTIGUOUS и не C_CONTIGUOUS. - UPDATEIFCOPY может быть установлен только
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.ndarray.flags.html