Spec-Zone.ru › NumPy 1.12

numpy.core.defchararray.chararray.setflags

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

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

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

Параметры:

write : bool, optional

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

align : bool, optional

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

uic : bool, optional

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

Примечания

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

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

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

UPDATEIFCOPY (U) этот массив является копией какого-то другого массива (ссылка через .base). При освобождении этого массива массив базы будет обновлен содержимым этого массива.

К флагам можно обратиться, используя их первую (заглавную) букву, а также полное название.

Примеры

>>> 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
  UPDATEIFCOPY : False
>>> y.setflags(write=0, align=0)
>>> y.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : False
  ALIGNED : False
  UPDATEIFCOPY : False
>>> y.setflags(uic=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot set UPDATEIFCOPY flag to True

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.core.defchararray.chararray.setflags.html

Spec-Zone.ru

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