numpy.matrix.flags
атрибут
- matrix.flags
-
Информация о структуре расположения данных в памяти массива.
Примечания
Объект
flagsможет быть доступен по-словарному (как вa.flags['WRITEABLE']), или с использованием строчных имён атрибутов (как вa.flags.writeable). Короткие имена флагов поддерживаются только в словаре доступа.Только флаги WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем, посредством прямого присвоения атрибуту или записи в словарь, или вызова
ndarray.setflags.Флаги массива не могут быть установлены произвольно:
- UPDATEIFCOPY может быть установлен только
False. - WRITEBACKIFCOPY может быть установлен только
False. - ALIGNED может быть установлен только
Trueесли данные действительно выровнены. - WRITEABLE может быть установлен только
Trueесли массив владеет собственной памятью, или конечный владелец памяти предоставляет интерфейс записи в буфер или представляет собой строку.
Массивы могут быть одновременно как C-стилевыми, так и Fortran-стилевыми.
Даже для непрерывных массивов шаг для данного измерения
arr.strides[dim]может быть произвольным, еслиarr.shape[dim] == 1или массив не имеет элементов. Это не обычно верно, чтоself.strides[-1] == self.itemsizeдля C-стилевых непрерывных массивов илиself.strides[0] == self.itemsizeдля Fortran-стилевых непрерывных массивов.- Атрибуты
-
- C_CONTIGUOUS (C)
-
Данные находятся в едином непрерывном сегменте C-стиля.
- F_CONTIGUOUS (F)
-
Данные находятся в едином непрерывном сегменте Fortran-стиля.
- OWNDATA (O)
-
Массив владеет памятью, которую использует, или заимствует её от другого объекта.
- WRITEABLE (W)
-
Область данных может быть записана. Установка в значение False блокирует данные, делая их только для чтения. Вид (срез и т.д.) наследует WRITEABLE от своего базового массива во время создания, но вид записываемого массива может быть впоследствии заблокирован, в то время как базовый массив остаётся записываемым. (Обратное неверно, так как вид заблокированного массива не может быть сделан записываемым. Однако в настоящее время блокировка базового объекта не блокирует никакие виды, которые уже на него ссылаются, поэтому в этом случае можно изменить содержимое заблокированного массива с помощью предварительно созданного записываемого вида на него.) Попытка изменить не записываемый массив вызывает исключение RuntimeError.
- ALIGNED (A)
-
Данные и все элементы правильно выровнены для оборудования.
- WRITEBACKIFCOPY (X)
-
Этот массив является копией другого массива. Функция C-API PyArray_ResolveWritebackIfCopy должна быть вызвана перед освобождением памяти, чтобы базовый массив был обновлён содержимым этого массива.
- UPDATEIFCOPY (U)
-
(Устаревшее, используйте WRITEBACKIFCOPY) Этот массив является копией другого массива. Когда этот массив освобождается, базовый массив будет обновлён содержимым этого массива.
- FNC
-
F_CONTIGUOUS и не C_CONTIGUOUS.
- FORC
-
F_CONTIGUOUS или C_CONTIGUOUS (проверка на один сегмент).
- BEHAVED (B)
-
ALIGNED и WRITEABLE.
- CARRAY (CA)
-
BEHAVED и C_CONTIGUOUS.
- FARRAY (FA)
-
BEHAVED и F_CONTIGUOUS, и не C_CONTIGUOUS.
- UPDATEIFCOPY может быть установлен только
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.matrix.flags.html