Spec-Zone.ru › NumPy 1.16

numpy.ndarray.flags

attribute

ndarray.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.16.1/reference/generated/numpy.ndarray.flags.html

Spec-Zone.ru

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