Spec-Zone.ru › NumPy 1.19

numpy.chararray.flags

attribute

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.19/reference/generated/numpy.chararray.flags.html

Spec-Zone.ru

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