numpy.recarray.flags#

атрибут

recarray.флаги#

Информация о расположении памяти массива.

Примечания

The flags объект может быть доступен как словарь (как в a.flags['WRITEABLE']), или с использованием имён атрибутов в нижнем регистре (как в a.flags.writeableКороткие имена флагов поддерживаются только при доступе через словарь.

Только флаги WRITEBACKIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем через прямое присваивание атрибуту или записи словаря, или путем вызова ndarray.setflags.

Флаги массива не могут быть установлены произвольно:

  • WRITEBACKIFCOPY можно установить только False.

  • ALIGNED можно установить только True если данные действительно выровнены.

  • WRITEABLE можно установить только True если массив владеет своей собственной памятью или конечный владелец памяти предоставляет записываемый буферный интерфейс или является строкой.

Массивы могут быть одновременно C-стиля и Fortran-стиля непрерывными. Это очевидно для одномерных массивов, но также может быть верно для массивов более высокой размерности.

Даже для непрерывных массивов шаг для заданного измерения arr.strides[dim] может быть произвольный if arr.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.