numpy.matrix.setflags
-
matrix.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.10.1/reference/generated/numpy.matrix.setflags.html