Это означает, что у вас есть другая ссылка на него.
Вы можете использовать print(sorted(globals()))
и print(sorted(locals()))
, чтобы вывести список текущих ссылок, если вам нужно отладить это.Если вы знакомы с gc
, вы можете использовать gc.get_objects()
для просмотра каждого объекта, на который есть ссылка.Используйте del
, чтобы удалить ненужные ссылки.Если у вас нет ссылки на объект, Cpython
будет автоматически собирать мусор.
Это, по крайней мере, теория ... Потому что используемый вами модуль также может сохранять ссылку, и, поскольку вы сохраняете ссылку на модуль, он не будет собирать мусор.Вы можете полностью удалить ссылки, которые хранятся в модуле (используя introspection ) или del module
.Возможно, у вашего объекта есть функция close
или другая, которая должна быть выполнена для освобождения ресурсов (может быть, auto-closable ).
Нет необходимости говорить, что хранение ссылок является чем-то модульнымследует избегать.