Spec-Zone.ru › NumPy 1.18

numpy.recarray.flags

атрибут

recarray.flags

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

Примечания

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

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

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

  • UPDATEIFCOPY может быть установлен только False.
  • WRITEBACKIFCOPY может быть установлен только 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)

Данные и все элементы выровнены должным образом для оборудования.

WRITEBACKIFCOPY (X)

Этот массив является копией некоторого другого массива. Функция C-API PyArray_ResolveWritebackIfCopy должна быть вызвана перед освобождением, чтобы базовый массив был обновлён содержимым этого массива.

UPDATEIFCOPY (U)

(Устарело, используйте WRITEBACKIFCOPY) Этот массив является копией некоторого другого массива. При освобождении этого массива базовый массив будет обновлён содержимым этого массива.

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.

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.recarray.flags.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API