numpy.ndarray.flags
атрибут
- ndarray.flags
-
Информация о расположении памяти массива.
Примечания
Объект
flagsможет быть доступен по типу словаря (как вa.flags['WRITEABLE']), или с помощью имен атрибутов в нижнем регистре (как вa.flags.writeable). Короткое имя флага поддерживается только в доступе по словарю.Только флаги WRITEBACKIFCOPY, WRITEABLE и ALIGNED могут быть изменены пользователем, путем прямого присвоения значения атрибуту или элементу словаря, или вызовом
ndarray.setflags.Флаги массива не могут быть установлены произвольно:
- 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 должна быть вызвана перед освобождением, чтобы базовый массив был обновлен содержимым этого массива.
- 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.
- WRITEBACKIFCOPY может быть установлен только
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ndarray.flags.html