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