Spec-Zone.ru › NumPy 1.15

numpy.core.defchararray.chararray.flags

chararray.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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.core.defchararray.chararray.flags.html

Spec-Zone.ru

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