Spec-Zone.ru › NumPy 2.0

numpy.recarray.setflags

метод

recarray.setflags(write=None, align=None, uic=None)

Устанавливает флаги массива WRITEABLE, ALIGNED, WRITEBACKIFCOPY, соответственно.

Эти булевы флаги влияют на то, как numpy интерпретирует область памяти, используемую a (см. Примечания ниже). Флаг ALIGNED может быть установлен только в значение True, если данные фактически выровнены в соответствии с типом. Флаг WRITEBACKIFCOPY никогда не может быть установлен в значение True. Флаг WRITEABLE может быть установлен только в значение True, если массив владеет собственной памятью, или конечный владелец памяти предоставляет интерфейс записи буфера, или это строка. (Исключение для строки сделано для того, чтобы распаковка могла быть выполнена без копирования памяти.)

Параметры:
writebool, необязательно

Определяет, может ли быть произведена запись в a.

alignbool, необязательно

Определяет, правильно ли a выровнен для своего типа.

uicbool, необязательно

Определяет, является ли a копией другого массива «базы».

Примечания

Флаги массива предоставляют информацию о том, как область памяти, используемая для массива, должна интерпретироваться. В использовании 7 булевых флагов, только три из которых могут быть изменены пользователем: WRITEBACKIFCOPY, WRITEABLE и ALIGNED.

WRITEABLE (W) область данных может быть записана;

ALIGNED (A) данные и шаги правильно выровнены для оборудования (как определяется компилятором);

WRITEBACKIFCOPY (X) этот массив является копией некоторого другого массива (ссылается на .base). Когда вызывается функция C-API PyArray_ResolveWritebackIfCopy, массив базы будет обновлен содержимым этого массива.

Все флаги могут быть доступны с использованием одной (заглавной) буквы, а также полного имени.

Примеры

>>> y = np.array([[3, 1, 7],
...               [2, 0, 0],
...               [8, 5, 9]])
>>> y
array([[3, 1, 7],
       [2, 0, 0],
       [8, 5, 9]])
>>> y.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
>>> y.setflags(write=0, align=0)
>>> y.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : False
  ALIGNED : False
  WRITEBACKIFCOPY : False
>>> y.setflags(uic=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot set WRITEBACKIFCOPY flag to True

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.recarray.setflags.html

Spec-Zone.ru

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