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-стилевыми непрерывными. Это очевидно для одномерных массивов, но также может быть справедливо для многомерных массивов.
Даже для непрерывных массивов шаг для данного измерения
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.recarray.flags.html