РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
441 of 541 menu

Атрибут flags

Атрибут flags класса dtype возвращает словарь, содержащий флаги, которые описывают различные свойства типа данных. Эти флаги позволяют узнать, обладает ли тип данных определёнными характеристиками, например, является ли он встроенным или пользовательским, выровненным, имеет ли объектные поля и другие особенности.

Синтаксис

dtype.flags

Атрибут возвращает объект типа словарь, где ключи - названия флагов, а значения - булевы значения, указывающие наличие соответствующего свойства у типа данных.

Пример

Давайте создадим простой тип данных и посмотрим его флаги:

import numpy as np dt = np.dtype(np.int32) res = dt.flags print(res)

Результат выполнения кода:

{'hasobject': False, 'aligned': True, 'native': True, 'kind': 0, 'ownsdata': True, 'swap': False, 'fenced': False}

Пример

Рассмотрим флаги для типа данных с пользовательским полем:

import numpy as np dt = np.dtype([('x', np.int64), ('y', np.float32)]) res = dt.flags print(res)

Результат выполнения кода:

{'hasobject': False, 'aligned': True, 'native': True, 'kind': 1, 'ownsdata': True, 'swap': False, 'fenced': False}

Для составного типа данных флаг kind принимает значение 1, что указывает на структурированный тип.

Пример

Проверим конкретные флаги для типа данных с объектами:

import numpy as np dt = np.dtype('O') has_object = dt.flags['hasobject'] is_aligned = dt.flags['aligned'] print(f"hasobject: {has_object}, aligned: {is_aligned}")

Результат выполнения кода:

"hasobject: True, aligned: True"

Тип данных для объектов Python имеет флаг hasobject, установленный в значение True.

Пример

Создадим тип данных с пользовательским порядком байтов и проверим соответствующие флаги:

import numpy as np dt = np.dtype('>i4') is_native = dt.flags['native'] swapped = dt.flags['swap'] print(f"native: {is_native}, swap: {swapped}")

Результат выполнения кода:

"native: False, swap: True"

Для типа с порядком байтов от старшего к младшему флаг native установлен в False, а флаг swap - в True.

Смотрите также

  • атрибут itemsize,
    который возвращает размер элемента в байтах
  • атрибут byteorder,
    который возвращает порядок байтов типа данных
  • атрибут hasobject,
    который указывает, содержит ли тип данных объекты Python
  • атрибут kind,
    который возвращает категорию типа данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить