Spec-Zone.ru › NumPy 2.0

numpy.ndarray.flags

атрибут

ndarray.flags

Информация о расположении памяти массива.

Примечания

Объект flags может быть доступен по типу словаря (как в a.flags['WRITEABLE']), или с помощью имен атрибутов в нижнем регистре (как в a.flags.writeable). Короткое имя флага поддерживается только в доступе по словарю.

Только флаги WRITEBACKIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем, путем прямого присвоения значения атрибуту или элементу словаря, или вызовом ndarray.setflags.

Флаги массива не могут быть установлены произвольно:

  • 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 должна быть вызвана перед освобождением, чтобы базовый массив был обновлен содержимым этого массива.

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

Spec-Zone.ru

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