Spec-Zone.ru › NumPy 1.18

numpy.memmap.flags

атрибут

memmap.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.memmap.flags.html

Spec-Zone.ru

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