Spec-Zone.ru › NumPy 1.18

numpy.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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.chararray.flags.html

Spec-Zone.ru

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