numpy.ndarray.setflags
-
ndarray.setflags(write=None, align=None, uic=None) -
Устанавливает флаги массива WRITEABLE, ALIGNED и UPDATEIFCOPY, соответственно.
Эти булевы флаги влияют на то, как numpy интерпретирует область памяти, используемую
a(см. Примечания ниже). Флаг ALIGNED может быть установлен в значение True только в том случае, если данные фактически выровнены в соответствии с типом. Флаг UPDATEIFCOPY никогда не может быть установлен в значение True. Флаг WRITEABLE может быть установлен в значение True только в том случае, если массив владеет своей памятью или конечный владелец памяти предоставляет интерфейс записи буфера или является строкой. (Исключение для строк сделано для того, чтобы распаковка могла быть выполнена без копирования памяти.)Параметры: write : bool, необязательно
Определяет, можно ли записать в
a.align : bool, необязательно
Определяет, правильно ли
aвыровнен для своего типа.uic : bool, необязательно
Определяет, является ли
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.11.0/reference/generated/numpy.ndarray.setflags.html