numpy.ndarray.flags#
атрибут
- ndarray.флаги#
Информация о расположении памяти массива.
Примечания
The
flagsобъект может быть доступен как словарь (как вa.flags['WRITEABLE']), или с использованием имён атрибутов в нижнем регистре (как вa.flags.writeableКороткие имена флагов поддерживаются только при доступе через словарь.Только флаги WRITEBACKIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем через прямое присваивание атрибуту или записи словаря, или путем вызова
ndarray.setflags.Флаги массива не могут быть установлены произвольно:
WRITEBACKIFCOPY можно установить только
False.ALIGNED можно установить только
Trueесли данные действительно выровнены.WRITEABLE можно установить только
Trueесли массив владеет своей собственной памятью или конечный владелец памяти предоставляет записываемый буферный интерфейс или является строкой.
Массивы могут быть одновременно C-стиля и Fortran-стиля непрерывными. Это очевидно для одномерных массивов, но также может быть верно для массивов более высокой размерности.
Даже для непрерывных массивов шаг для заданного измерения
arr.strides[dim]может быть произвольный ifarr.shape[dim] == 1или массив не имеет элементов. Он делает не обычно считают, чтоself.strides[-1] == self.itemsizeдля C-стиля смежных массивов илиself.strides[0] == self.itemsizeдля массивов с фортрановским стилем смежности является истиной.- Атрибуты:
- C_CONTIGUOUS (C)
Данные находятся в едином сегменте в стиле C, смежном в памяти.
- F_CONTIGUOUS (F)
Данные находятся в едином сегменте с фортрановской смежностью.
- OWNDATA (O)
Массив владеет используемой памятью или заимствует её у другого объекта.
- WRITEABLE (W)
Область данных может быть записана. Установка этого значения в False блокирует данные, делая их доступными только для чтения. Представление (срез и т.д.) наследует WRITEABLE от базового массива во время создания, но представление записываемого массива может быть впоследствии заблокировано, пока базовый массив остается записываемым. (Обратное неверно, так как представление заблокированного массива не может быть сделано записываемым. Однако в настоящее время блокировка базового объекта не блокирует никакие представления, которые уже ссылаются на него, поэтому в этих обстоятельствах возможно изменить содержимое заблокированного массива через ранее созданное записываемое представление на него.) Попытка изменить не записываемый массив вызывает исключение RuntimeError.
- ALIGNED (A)
Данные и все элементы выровнены соответствующим образом для аппаратного обеспечения.
- WRITEBACKIFCOPY (X)
Этот массив является копией другого массива. Функция C-API PyArray_ResolveWritebackIfCopy должна быть вызвана перед освобождением памяти, чтобы базовый массив был обновлён содержимым этого массива.
- 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.