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

Атрибут hasobject

Атрибут hasobject класса dtype возвращает True, если dtype содержит ссылки на объекты Python (например, строки, списки или пользовательские классы), и False в противном случае. Это свойство помогает определить, требует ли массив особого внимания при выполнении операций, которые могут создавать копии данных, поскольку объекты Python не копируются так же, как числовые значения.

Синтаксис

dtype.hasobject

Атрибут не принимает аргументов и возвращает значение типа bool.

Пример

Создадим массив чисел и проверим значение атрибута hasobject для его dtype:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = arr.dtype.hasobject print(res)

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

False

Для числовых массивов атрибут возвращает False, поскольку их элементы являются значениями, а не ссылками на объекты.

Пример

Теперь создадим массив строк и проверим атрибут hasobject:

import numpy as np arr = np.array(['a', 'b', 'c', 'd', 'e']) res = arr.dtype.hasobject print(res)

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

True

Строковый dtype возвращает True, так как строки в NumPy хранятся как объекты Python, если только не задан фиксированный размер (например, 'U10').

Пример

Создадим массив с dtype 'U3' (фиксированная длина строки) и проверим атрибут:

import numpy as np arr = np.array(['abc', 'de', 'fghi'], dtype='U3') res = arr.dtype.hasobject print(res)

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

False

Фиксированный строковый dtype также не содержит ссылок на объекты Python, поскольку строки хранятся как последовательности символов в фиксированном буфере.

Пример

Используем атрибут hasobject для проверки dtype массива объектов:

import numpy as np arr = np.array([[1, 2], [3, 4]], dtype=object) res = arr.dtype.hasobject print(res)

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

True

Массив с dtype=object содержит ссылки на объекты Python, поэтому атрибут возвращает True.

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

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