В следующем коде объект с именем a
сам по себе является атрибутом, который создает ссылочный цикл.
class MyClass(object):
pass
a = MyClass()
a.obj = a
Если бы мне пришлось тогда вызывать del a
, я бы, вероятно, не имел бы избавился от всех ссылок на a
, поскольку самореферентная природа a
должна препятствовать тому, чтобы он имел ненулевой счетчик ссылок.
Я не уверен, почему это так, что циклы ссылок не позволяют счетчику перейти к 0. Может ли кто-нибудь объяснить мне это, шаг за шагом?