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

Атрибут base

Атрибут base у экземпляров класса ndarray позволяет получить ссылку на массив, чьи данные использует текущий массив. Если массив создан как срез, через view или другие операции, не вызывающие копирования данных, то base хранит ссылку на оригинальный массив. Когда массив создаётся самостоятельно (например, через array или zeros), этот атрибут имеет значение None.

Синтаксис

arr.base

Пример

Для обычного массива, созданного напрямую, атрибут base возвращает None:

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

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

None

Пример

Для массива, полученного как срез другого массива, атрибут base ссылается на исходный массив:

import numpy as np original = np.array([1, 2, 3, 4, 5]) slice_arr = original[1:4] print(slice_arr.base)

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

[1 2 3 4 5]

Пример

Для представления, созданного методом view, атрибут base также возвращает исходный массив:

import numpy as np original = np.array([[1, 2, 3], [4, 5, 6]]) view_arr = original.view() print(view_arr.base)

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

[[1 2 3] [4 5 6]]

Пример

Атрибут base полезен для проверки того, является ли массив представлением другого массива, или он содержит собственные данные:

import numpy as np arr_own = np.array([1, 2, 3]) arr_view = arr_own[0:2] if arr_view.base is not None: print("arr_view является представлением") else: print("arr_view имеет собственные данные") if arr_own.base is None: print("arr_own имеет собственные данные")

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

"arr_view является представлением" "arr_own имеет собственные данные"

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

  • атрибут data,
    который предоставляет буфер памяти массива
  • метод copy,
    который создаёт независимую копию массива
  • метод view,
    который создаёт представление данных без копирования
  • атрибут flags,
    который показывает состояние флагов массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить