Ответ 1
Из документации (акцент мой):
Цель проверки счетчика ссылок состоит в том, чтобы убедиться, что вы не используете этот массив в качестве буфера для другого объекта Python, а затем перераспределите память. Однако подсчет ссылок может увеличиваться другими способами, поэтому, если вы уверены, что вы не поделили память для этого массива другим объектом Python, вы можете безопасно установить
refcheck
наFalse
.
Ваш "заглянуть", в отличие от print
, не уменьшает счетчик ссылок впоследствии. Это связано с тем, что в интерпретаторе результат последнего вычисления присваивается _
. Пытаться:
print(_) # shows array
a.resize((3, 2), refcheck=False) # works
Кроме того, если вы выполняете какое-либо другое вычисление (например, только 1 + 2
) между ними, это приведет к разыменованию вашего массива с помощью _
.